{"openapi":"3.1.0","info":{"title":"InformaCast Mobile API Explorer","description":"InformaCast Mobile is Singlewire Software&rsquo;s cloud-based, mobile\ndevice broadcast system that allows you to simultaneously send\ncombinations of text, pre-recorded audio, and images to Android and\niOS mobile endpoints such as cellular phones and tablets. While smart\ndevices provide the richest interface and are the primary target, you\ncan also send content via email, SMS messages to any cell phone, and\naudio calls to any telephone.\n\n> ℹ️ For learning resources and support please visit the [Customer Hub](https://www.singlewire.com/customer-hub). See the [Change Log](#change-log) for information about upcoming and recent changes to the API.\n\nInformaCast Mobile (its <a href=\"https://admin.icmobile.singlewire.com\" target=\"_blank\">web interface</a> and Android and iOS mobile apps) is built upon a powerful representational state transfer (REST) application programming interface (API). Any operation supported by InformaCast Mobile can be achieved through its API, which uses the standard `HTTP` verbs of `POST`, `GET`, `PUT`, and `DELETE` to create, read, update, and delete resources, though not all verbs are available for all resources.\n\nYou can explore the API right here to learn about it (and perform simple operations once [authenticated](#authentication)). You can also download the spec to use in an OpenAPI tool of your choice from [here](/api/openapi.json).\n\nAn API request is composed of the application path (i.e. https://api.icmobile.singlewire.com/api/), the API&rsquo;s version, a resource path, and optional query parameters. The following API request could be used with an HTTP `GET` to retrieve a site's information.\n\n![Exploded URL](/api/docs/images/ICMAPIAnatomy.svg)\n\n> There are many examples of requests and responses in the operations section of this API explorer.\n\n## [Prerequisites](#prerequisites)\n\nBefore beginning to use the InformaCast Mobile API, you must have:\n\n- A successfully registered account on InformaCast Mobile\n- Internet access for the InformaCast Mobile website.\n- A valid identity provider account with either InformaCast Mobile&rsquo;s built-in identity provider, Microsoft Active Directory Federated Services (AD FS), Google OpenID Connect, or Windows Azure.\n\nMobile devices registering with InformaCast Mobile have the following prerequisites:\n\n- For iOS devices, iOS 7.0.0 or later\n- For Android devices, Android 4.0 (Ice Cream Sandwich) or later\n- A separate identity provider account for each user who plans to receive InformaCast Mobile alerts on his/her device.\n\n## [API Documentation](#api-documentation)\n\nThe left navigation pane includes a responsive table of contents that allows for easy navigation between InformaCast Mobile API&rsquo;s operations and resources, and it also offers a search button.\n\n> ⚠️ The current search interface requires you to click next to, but not actually on, the text of a search result you would\n> like to navigate to. We have requested a fix from the framework we are using, and will incorporate that as soon as we can.\n\nWhen you click on the name of a resource in the navigation pane, it takes you to a page describing the overall resource.\nClick the `>` symbol to the far right of the resource name to expand the list of operations available for that resource. Clicking\non an operation shows a page describing all of the parameters that control that operation, code examples of how to use it,\nand sample responses and schemas. When you are looking at the details of an operation, you can also expand the information\nabout the overall resource by clicking on the icon next to the operation name, which looks like this: <svg class=\"tag-icon collapsed\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" stroke-width=\"2\" fill=\"none\" style=\"stroke:var(--primary-color); vertical-align:top; cursor:pointer\"><path d=\"M12 20h-6a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h8\"></path><path d=\"M18 4v17\"></path><path d=\"M15 18l3 3l3 -3\"></path></svg>\n\nIf you have logged in using the [Authentication section](#auth), you can also try the\noperations with values you enter on the page. This allows you to see what actual responses look like or manipulate the\ndata in ways that are not convenient using the normal administrative interface. Unless you already have an HTTP Bearer\nToken that you want to use, the authorization code flow allows you to use the normal login procedure to enable this feature.\nFor more information about authentication with the API, see [below](#authentication).\n\n## [Terminology](#terminology)\nWhen working with the InformaCast Mobile API, it&rsquo;s useful to be familiar with certain terms:\n\n- **Users.** Individuals who will receive (and possibly send) notifications. Users can be assigned individual permissions and grouped into distribution lists and security groups with their own set of permissions.\n- **Permissions.** Controls for the functionality that users can view and/or change, e.g. read permissions for distribution list, create and edit permissions for security groups and message templates.\n- **Distribution Lists.** A way to organize and group users. Distribution lists are also the recipients of notifications. You cannot send a notification to a user who is not included in a distribution list.\n- **Security Groups.** Another way to group users, but also assign them permissions, such as creating message templates or sending notifications to specific distribution lists.\n- **Load Definitions.** A way to load many users at once along with their distribution list subscriptions and security group assignments.\n- **Message Templates.** The building blocks of the notifications you will send to your mobile endpoints, e.g. message template name, subject, body text, etc.\n- **Confirmation Requests.** A response for your recipients to send back to you after receiving a notification. You can also configure an escalation notification based on the responses you receive.\n- **Notifications.** The combination of your previous efforts: notifications are your configured message templates sent out to users who are housed in a distribution lists with certain permissions assigned to them at either the user or security group level and who may respond to your notification through a confirmation request, if you have configured it.\n\n## [Security Considerations](#security-considerations)\n\n> ⚠️ As with any API where users are allowed to supply text that can be\n> displayed later, if you are building a system where you will display\n> that text in a context like a web browser, you need to be sure to\n> sanitize it before rendering it, to protect your user interface\n> against cross-site scripting or other JavaScript-based attacks.\n\n## [Helpful Clients](#helpful-clients)\n\nThe InformaCast Mobile API is built on a set of RESTful standards. You will want to find or use a familiar REST client for your programming language of choice. If you don&rsquo;t already have a preferred REST client, here are a\nfew suggestions to get you started:\n\n- **Java**\n    - [Apache HttpClient](https://hc.apache.org/)\n- **Ruby**\n    - [httparty](https://github.com/jnunemaker/httparty)\n    - [rest-client](https://rubygems.org/gems/rest-client)\n- **Python**\n  [requests](http://docs.python-requests.org/en/latest/)\n- **JavaScript/NodeJS**\n    - [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)\n- **Clojure**\n    - [clj-http](https://github.com/dakrone/clj-http) and\n    - [HTTP Kit](https://www.http-kit.org)\n- **Shell**\n    - [cURL](http://curl.haxx.se/)\n    - [HTTPie](https://github.com/jakubroztocil/httpie)\n    - [Wget](https://www.gnu.org/software/wget/)\n\n## [Authentication](#authentication)\n\nAuthenticating with the API is how you prove that you should be able to use it, and authentication is controlled through submitting an authentication token with *every* API request you make. This token is associated with a [user](#tag--Users), that user has [permissions](#tag--User-Permissions) and [security group memberships](#tag--Security-Groups), and if the permissions and memberships allow it, your API request is processed.\n\n> InformaCast Mobile uses the <a href=\"http://oauth.net/2/\" target=\"_blank\">OAuth 2.0</a> standard for authentication.\n\nHow you create a token depends on the kind of application you are building:\n\n* **User Interface Application.**  If your application has a user interface, you can embed a web browser and configure it to use the login mechanism provided by the InformaCast Mobile REST API server. The InformaCast Mobile token provider interface is responsible for logging in users through an <a href=\"https://www.singlewire.com/help/mobile/Configuring/Set_Up_Your_Identity_Provider.htm\" target=\"_blank\">identity provider</a> associated with their InformaCast Mobile accounts, which results in an authentication token for your application to use when making requests on behalf of that user. For iOS applications, the <a href=\"https://code.google.com/p/gtm-oauth2/\" target=\"_blank\">Google Toolbox for Mac OAuth 2 Controller</a> works well for providing the login interface and  pairs naturally with their <a href=\"https://code.google.com/p/gtm-http-fetcher/\" target=\"_blank\">HTTP Fetcher</a> for wrapping REST API requests to supply the authentication token. This is the preferred approach for obtaining an authentication token within your application because it allows the application to act on behalf of the specific user who has logged in with it.\n\n* **Service Account.** If your application runs in the background, with no opportunity for user interaction, you need to create a service account/application token through the <a href=\"https://admin.icmobile.singlewire.com/\" target=\"_blank\">administrative interface</a> and store it securely within your application. If a single copy of your application is available as a service over the Internet to your users, you can manage this process entirely in-house. If you distribute copies of your application for your users to configure and run for themselves, your installation and configuration interface will need to provide a way for your users to store their own tokens, and your documentation will need to explain how they will obtain them. Because of security concerns, generally you should never create or use this type of authentication (stored tokens) unless you have no alternative.\n\nEither kind of token grants access to InformaCast Mobile, so it is important to keep it secure. This is particularly important for application tokens, because if such a token must be revoked due to a compromise, you will need to update your shared web application, or tell your clients to update their configured token.\n\n### [Create a Token for Experimentation](#create-a-token-for-experimentation)\n\nIf you just need a token suitable for experimental exploration of the API, use the [authorization code flow](#auth).\n\nAs noted in [Authentication](#authentication), if you are building an application that will interact with the API on behalf of an interactive user, you will want to embed a web browser and direct the user to the InformaCast Mobile <a href=\"https://admin.icmobile.singlewire.com\" target=\"_blank\">login interface</a>. Use query parameters to inform the API that your user is logging in within your application through the client ID and client secret assigned to your application.\n\n> ⚠️ Client IDs and secrets are areas of active development within the InformaCast Mobile API. Eventually, there will be an automatic mechanism by which developers can request client IDs and client secrets, but today it will require manual intervention on the part of Singlewire.\n\nSince the implementation of an OAuth2 login is complex, try building on top of an open-source solution, such as the <a href=\"https://code.google.com/p/gtm-oauth2/\" target=\"_blank\">Google Toolbox for Mac OAuth 2 Controller</a>. This is the approach used in-house at Singlewire. The documentation for the library will explain how your client information is configured and how the token is obtained at the end of a successful login process. Even if you plan to roll out your own OAuth 2 client implementation from scratch, the source and documentation of a library like this will be a valuable resource.\n\n### [Create a Token](#create-a-token)\n\nUntil the above-mentioned authorization improvements are available, if you need a token for an application that runs in a headless mode (i.e. without the ability to ask a user to periodically log in for it and which needs to stay logged in), you will need to create a service account token for it. (Or, as noted in [Authentication](#authentication), your clients can do so, and paste the token into your application’s configuration interface, if the application will be logging in on their behalf.)\n\nFollow [these steps in the User Guide](https://documentation.singlewire.com/fusion/en/about-individual-users.html#manage-tokens) to create a service account token. Once you have it, you can test it here by [setting it as an HTTP Bearer token](#auth).\n\n> ⚠️ If your token becomes compromised or is nearing expiration, you will need to use the <strong>Remove</strong> button on the <strong>User Tokens</strong> tab of the Edit User Details page to revoke the compromised token, create a new token, and embed that in your application. It is also a good practice to remove the token if you simply no longer expect it to be used (e.g. if the application has been retired).\n\n### [Use the Token](#use-the-token)\n\n> The examples in this section show how to retrieve the `Session` resource, which contains information about the login session associated with the authentication token.\n\nAs specified by OAuth 2&rsquo;s <a href=\"http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html\" target=\"_blank\">Bearer Token Usage principles</a>---on which the API relies---there are three methods for providing authorization for a request:\n\n* [an Authorization header](#authorization-header)\n* [a form-encoded body parameter](#form-encoded-body-parameter)\n* [an URI query parameter](#uri-query-parameter)\n\nThese methods are listed in decreasing order of convenience and preference. Wherever possible, the Authorization header method should be used. The other two methods are fallbacks for cases where that is simply not possible, and the final approach (e.g. URI query parameter) should only be used in testing and development contexts.\n\n> ⚠️ You can make the all the examples in this documentation use your actual token by pasting it into the <strong>Access Token</strong> field at the top of the left pane. Once you create one, paste it in there and watch what happens to the examples at the right. This will let you easily copy and paste them into a shell window to try them out.\n\n#### [Authorization Header](#authorization-header)\n\nA token may be passed via an Authorization request header field as defined by <a href=\"http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#RFC2617\" target=\"_blank\">RFC2617</a>. Additional details and guidelines can\nbe found <a href=\"http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#authz-header\" target=\"_blank\">here</a>. Using an Authorization header is the preferred method, and should be used whenever possible.\n\n> ⚠️ The token does not need to be URL-encoded when it is passed as a header value.\n\n#### [Form-encoded Body Parameter](#form-encoded-body-parameter)\n\n```shell\ncurl \"https://api.icmobile.singlewire.com/api/v1/session\" \\\n  -d \"access_token=S35QCVBN6S6TUQKHOND%3D\"\n```\n\n> When using a client library, the authentication\nheader is taken care of for you, so there is no\nneed to use a body parameter.\n\nA token may be passed in the form body so long as the request is single-part and uses the `x-www-form-urlencoded`\nContent-Type. Additional criteria and guidelines can be found <a href=\"http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#body-param\" target=\"_blank\">here</a>. This approach can be used when it is not possible for you to set the Authorization header, as long as the other criteria are met. As discussed in the IETF guidelines, it is not possible to use this approach with the HTTP `GET` method.\n\n> ⚠️ In this case, the token value needs to be URL-encoded; the <code>=</code> at the end has been replaced by <code>%3D</code>.\n\n#### [URI Query Parameter](#uri-query-parameter)\n\n```shell\ncurl \"https://api.icmobile.singlewire.com/api/v1/session?access_token=S35QCVBN6S6TUQKHOND%3D\"\n```\n\n> When using a client library, the authentication\nheader is taken care of for you, so there is no\nneed to use a query parameter.\n\nA token may be specified as an encoded query parameter and must be properly separated from additional query parameters using the `&` character. Additional details and guidelines can be found <a href=\"http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#query-param\" target=\"_blank\">here</a>. This method should be used as a last resort, when neither of the other methods are possible, because it suffers from security deficiencies even when used with all the `Cache-Control` headers recommended by the guidelines.\n\n> ⚠️ In this case, the token value needs to be URL-encoded; the <code>=</code> at the end has been replaced by <code>%3D</code>.\n\n> Assuming the token was valid, all three of the above methods would return something like the following:\n\n```json\n{\n  \"accessToken\": \"S35QCVBN6S6TUQKHOND=\",\n  \"userId\": \"723f0df0-25ff-11e3-bb04-2a16fd5e656f\",\n  \"providerId\": \"a8105c2c-8e15-11e5-800a-efb9f24b4331\",\n  \"providerName\": \"Yoyodyne\",\n  \"email\": \"sallie.chin@yoyodyne.com\",\n  \"name\": \"Sallie Chin\",\n  \"isFusion\": true,\n  \"isLicenseValid\": true,\n  \"idleTimeout\": 90,\n  \"idleTimeoutCustom\": true\n}\n```\n\n### [Site Access (Facilities)](#site-access-facilities)\n\nFor creating or interacting with resources within a local site (see [Facilities](#tag--Facilities) for resource examples), it may be required to specify the acting facility, corresponding to the appropriate ID discoverable by [listing facilities](#get-/v1/facilities). To specify the acting facility, use the request header `X-Singlewire-Facility` with the acting facility ID value. When not acting within a local site, or if the requesting user is a member of a single local site, the header is not required (the acting facility can be assumed).\n\n### [Choosing an acting Facility](#choosing-an-acting-facility)\n\nOnce you have created any [Facilities](#tag--Facilities), all API requests are\ninterpreted in the context of a particular Facility, described as the\n&ldquo;Acting Facility.&rdquo;\n\nTo specify the Facility in which a particular request should operate,\nyou supply the desired Facility `id` value either as the request header\n`x-singlewire-facility`, or as the request parameter `facility` (the\nrequest parameter can either be a query parameter in the URL of any\nrequest, or a body parameter for requests using HTTP methods other\nthan `GET`).\n\nIf you do not specify a value for either the `x-singlewire-facility`\nrequest header or the `facility` request parameter, an attempt will\nbe made to determine the users default facility. If the user is only\nassigned to a single facility (Local or Global) that Facility will be\nassumed. Otherwise, the request will fail.\n\nIf you specify both the request header and the request parameter, the\n`facility` request parameter value will be used, and the\n`x-singlewire-facility` header will be ignored. This allows the header\nto specify a longer-lived acting context, while special requests can\noccasionally act in a different Facility by adding the request\nparameter.\n\nIf the user associated with the request&rsquo;s authentication token\nis not permitted to act in the requested Facility, or if the requested\nFacility is otherwise invalid, the request will fail with a validation error.\n\n## [Throttling](#throttling)\n\nThe system imposes rate limitations on incoming requests to protect itself, your application, and other users.\nAll requests are subject to a rate-limiting policy, including sending notifications, creating resources, etc.\nFor notifications, the current, per-provider rate limit policy is:\n* 500 notifications from a single sender per day\n* 2,000 notifications for the entire provider per day\n\n**Note**: This policy is subject to change depending on system conditions.\n\nIf you exceed either limit, the recipients in your Administrator Alerts distribution list will receive a notification,\nnotifying them of the rate limit. Any further notifications will fail with an\n[HTTP 429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) Too Many Requests error status.\n\nYour application should be prepared to receive a 429 response. When\n[sending a notification](#post-/v1/notifications) or [sending a scenario notification](#post-/v1/scenario-notifications)\nexceeds either limit above, the 429 response includes a\n[Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Retry-After) header giving the\nnumber of seconds until the limits reset; your application should not retry before then.\nFor any other 429 response, your application should only retry its request after waiting a random amount of time.\nThis random wait time should increase with each 429 you receive.\n\n**Caution**: There are other, unpublished rate limits that may apply to your InformaCast environment. Other situations\nthat could cause 429 responses would be an application sending many requests in parallel or thousands of requests in\nrapid succession.\n\n## [Idempotent Requests](#idempotent-requests)\n\nSending a notification is not naturally safe to retry: if a request times out or the connection drops before you\nreceive a response, retrying it may send the notification twice. To retry safely, include an `Idempotency-Key`\nrequest header on [sending a notification](#post-/v1/notifications) or\n[sending a scenario notification](#post-/v1/scenario-notifications). Generate a unique value for each send, such\nas a UUID or your own event ID, and reuse that same value for every retry of that send.\n\n* Keys are honored for **2 hours** per user (or per server application). A retry within that window with the same key and request body returns\n  the original response instead of sending again, along with an `Idempotent-Replayed: true` response header.\n* Keys are opaque strings of 1 to 255 characters and must match exactly, including case and any quotes.\n* If the original request is still being processed, the retry fails with an\n  [HTTP 409](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409) Conflict error status. Wait and retry.\n* If the key was already used with a different request body, the request fails with an\n  [HTTP 422](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422) Unprocessable Content error status.\n* If the original request failed (any non-2xx response, including a 429), the key is not kept, and a retry is\n  processed as a new request.\n\nThe header is optional. Requests without it are processed as usual. See\n[Idempotency-Key](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Idempotency-Key) for\nbackground on the header.\n\n## [Pagination and Search](#pagination-and-search)\n\nThe InformaCast Mobile API provides consistent methods for performing search and pagination for requests which return a list of resources. Unless otherwise specified, a request which lists a resource will return a maximum of 100 results. You need to be aware of this pagination mechanism in order to detect when you have received partial results, and to obtain the remaining results in such circumstances. You may also wish to choose more specific numbers of results to request, or to filter out specific resources in your query to improve network efficiency if you know what you are looking for.\n\n### [Pagination](#pagination)\n\nListing a resource will always return a JSON document as described in [Pagination Results](#pagination-results). If the response indicates that it is incomplete (has a `true` value for its `partial` attribute), you will need to issue a subsequent request in order to retrieve the next set of results. This is done by passing the `next` pointer (the value returned in the `next` attribute in your current result set) as a `start` query parameter in your next request, as described in [Pagination Parameters](#pagination-parameters). The example below illustrates a partial response that can be paginated (again, this is indicated by the `next` attribute being present, as well as `partial` being set to `true`). For this example we have requested just ten items by setting `limit` to `10` in our query parameters.\n\n```json\n{\n  \"total\": 26,\n  \"partial\": true,\n  \"previous\": null,\n  \"next\": \"IjRlZTVkODUwLTI2ZjAtMTFlNC1hOWE3LWI4ZTg1NjMyNzc0NiI=\",\n  \"data\": [ \"<ten items omitted to save space in the example…>\" ]\n}\n```\n\nThere is also a `previous` pointer which can be used to step backwards through the results. In this case, since we started at the beginning, its value is `null`.\n\nThe results themselves are in the `data` array. This has been omitted from the example in the interest of brevity. Try some list requests here to see these structures in their full glory.\n\nTo continue the example, let&rsquo;s assume we have fetched the next ten results by sending a `start` query parameter containing the URL encoded value of the `next` pointer we received in our first response, which was\n`IjRlZTVkODUwLTI2ZjAtMTFlNC1hOWE3LWI4ZTg1NjMyNzc0NiI=`.\n\n```json\n{\n  \"total\": 26,\n  \"partial\": true,\n  \"next\": \"IjJhZDJjMDYwLTE5MTUtMTFlNC1iZWVhLWI4ZTg1NjMyNzc0NiI=\",\n  \"previous\": \"ImM3MmZmZWIwLTI2ZjItMTFlNC05Y2ViLTY4NWIzNThlYTg0NyI=\",\n  \"data\": [ \"<ten items omitted to save space in the example…>\" ]\n}\n```\n\nThe response now indicates that we can move both forward and backward due to the presence of the `next` and\n`previous` attributes. As with paginating in the forward direction, backwards pagination can be performed simply by\npassing the value of the `previous` attribute as the `start` query parameter (URL encoding the value, of course). In order to paginate backwards through the entire list of results, you need some way to start at the end of the list of resources. This can be done by providing the special value of `end` as the `start` query parameter.\n\nIn either case, once you have retrieved the last chunk of data in paginating through your resource query, the value of the the pointer for the direction in which you have been moving (`next` or `previous`) will become `null`. The value of `partial` attribute will only `false` if all values were returned in a single query.\n\nThe total number of resources available, whether or not all were present in the current `data` array, is reported in the `total` attribute. This may not represent all the resources which actually exist in the system, because the results may be limited by the [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) attached to the user associated with the access token used to make the request. The number reported in `total` is the number that can be seen by the requesting user.\n\n### [Term Search](#term-search)\n\nFiltering a list of results using a term (stemming) search on attributes supported by a resource can be performed by supplying the `q` query parameter. The attributes available for stemming search will be mentioned in the documentation for that query parameter on the resource list operation page you are looking at.\n\nIf you are paginating through a filtered result set, remember to supply the same value for the filter parameters with each request, alongside the `start` and `limit` parameters you are using.\n\n> ⚠️ When you perform a term search, the total number of results that can be returned is limited to 1,000. If you need to get _all_ values which match a particular set of terms, and there are more than one thousand, you will need to list the resource without a `q` filter, and page through the results doing the filtering locally. If you have a need to do this more efficiently, please <a href=\"https://www.singlewire.com/customer-hub\">let us know</a>.\n\nIf `q` does not contain a colon, then the search will be performed against all supported resource attributes which are of type `String`, as well as `createdAt`. If the value looks like a date (formatted as specified by [ISO 8601](http://www.w3.org/TR/NOTE-datetime)), it will match records which were created at any time on that day; if it includes a time, then the resource must have been created at that exact date and time.\n\nYou can also restrict the search to a particular attribute of the resource by formatting `q` to contain the attribute name, a colon, and the value you want to search for, e.g. `name:smith`. The attribute name can contain lower and uppercase letters, underscores, and hyphens. The search value is matched loosely against the content of the attribute, with a bias towards returning more results rather than missing them.\n\nYou can perform geographic searches of [User Locations](#user-locations) using search queries of `location.polygon:` and a URL-encoded  [GeoJSON Linear Ring](http://geojson.org/geojson-spec.html#linestring).\n\n#### [Logical Operators](#logical-operators)\nYou can perform searches with the simple logical operators `and` and `or`.\n\nOperator | Example\n-------- | -------\nand | `q={\"and\":[\"name:craig\",\"type:regular\"]}`\nor | `q={\"or\":[\"name:craig\",\"name:linda\"]}`\n\n> Note that to parse the query conditions correctly, use double-quotes for all strings.\n\n> ℹ️ The search and indexing system are an area of active development for InformaCast Mobile, and the details described here are likely to change. Searches may not currently achieve what you would like, and searches which work today may stop working in the future as this feature is refined.\n\n### [Pagination Parameters](#pagination-parameters)\n\nThe following optional query parameters are used to control the pagination of resource requests which return lists.\n\nParameter | Type | Default | Description\n--------- | ---- | ------- | -----------\nstart | String | beginning | Tells the API which portion of the list of results to return. Omitting this parameter tells the API to start at the beginning of the list. The special value `end` indicates the API should start at the end of the list and return chunks in reverse order. All other values must come from a `next` or `previous` attribute in the pagination results of a prior API response, and instruct the API to continue from that point in its pagination.\nlimit | Integer | 100 | The maximum number of resources to be returned in the response. The value must be between 1 and 1000.\ninclude-total | Boolean | true | Whether to compute the `total` key in the list response output. When this is `false`, `total` will be removed and `previous`/`next` will be `null`.\nids[] | Array | n/a | Filters the list to only the supplied ids. Works for most resources. Example usage: `?ids[]=1&ids[]=2&ids[]=3`.\n\n### [Pagination Results](#pagination-results)\n\nAny time a list request is made, the response will be wrapped in a pagination object. The array of resources making up the actual response will always be available as the `data` attribute of the JSON response document. The other attributes provide information about the pagination status of the response.\n\nAttribute | Type | Description\n--------- | ---- | -----------\n__total__ | Integer | The total number of resources available, not all of which may be present in the current response, due to pagination. When `include-total` is `false`, this will be omitted.\n__partial__ | String | Whether the results contains all of the available resources, or only a partial set, in which case further queries will be required to page through the remaining results.\nprevious | String | The value which can be passed as the `start` query parameter to retrieve the previous page of results, paginating backwards. When `include-total` is `false`, this will always be returned as `null`.\nnext | String | The value which can be passed as the `start` query parameter to retrieve the next page of results, paginating forward. When `include-total` is `false`, this will always be returned as `null`.\n__data__ | Array | The array of resources in the current response.\n\n> ⚠️ When resources are not visible because of the [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request&rsquo;s access token, they are not reported in the <code>total</code>. It is as if they simply do not exist, and a consistent view of the system is presented in response to the request.\n\n\n## [Fusion Resources](#fusion-resources)\n\n> ![fusion](/api/docs/images/fusion_badge.png)\n>\n> To use the Mobile REST API (also referred to simply as the Rest API)\n> to access Fusion Server configuration information or to call Fusion\n> Server API targets from the Mobile REST API, there are several\n> pieces of information we need to use to construct those calls.\n\n\n### [Bearer Token](#bearer-token)\n\nAs the Fusion Server itself is not accessible externally (except\nthrough the Fusion Syncer mechanism), we must use the Fusion proxy\nextension to pass those requests through to the Fusion Server API.\n\nAn API call to a Fusion Server's API is similar to calling endpoints\nin the Mobile API, in that it also requires a [bearer\ntoken](#create-a-token-for-experimentation) authentication header (as\ndo other Mobile API calls), but in addition, we must specify the\n`extensionId`, `endpointId`, and API path to the Fusion Server API\ntarget.\n\nHere's an example request URL:\n`https://api.icmobile.singlewire.com/api/v1/extensions/{endpoint-proxy extensionId}/endpoints/{Fusion Server endpointId}/proxy/proxy/{Fusion Server API target path}`\n\n### [Endpoint-Proxy Extension ID](#endpoint-proxy-extension-id)\n\nTo find the `endpoint-proxy` extension id, make a filtered list request to the [Extensions](#tag--Extensions) resource:\n\n    GET …/extensions?type=endpoint-proxy&name=InformaCast\n\nThe response will contain the information like this:\n\n```json\n{\n \"name\": \"InformaCast\",\n \"deviceLimit\": 3,\n \"createdAt\": \"2016-06-28T13:43:44.693Z\",\n \"type\": \"endpoint-proxy\",\n \"failureCode\": null,\n \"proxyUrl\": \"http://localhost:8080/fusion/{provider-id}/{endpoint-id}\",\n \"id\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n \"deviceType\": null\n}\n```\n\nNote the `id` field, which will always be the `extensionId` of the\nendpoint proxy (`551de6ae-3d36-11e6-834a-3d1fcb19aadd`), needed for\nour Fusion-specific proxy requests.\n\n### [Finding the Fusion Server Endpoint ID](#finding-the-fusion-server-endpoint-id)\n\nThe next step is to determine the `endpointId` for the Fusion Server\nwe want to access. You can see a list of which endpoints are available\nusing the following call, where `NameOfFusionServer` is the name you\nassigned to your Fusion Server when it was added on the **Admin** →\n**Servers/List Servers** page:\n\n    GET …/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/?name={NameOfFusionServer}\n\nThe response will then include the `endpointId` of the Fusion Server (like the example below):\n\n```json\n{\n  …\n  \"config\": null,\n  \"name\": \"ICOP Server\",\n  \"createdAt\": \"2018-05-14T18:47:30.748Z\",\n  \"extensionId\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n  …\n  \"healthy\": true,\n  \"id\": \"41a7f094-57a7-11e8-b511-1b4b03640c60\"\n}\n```\n\nNote, the `id` listed is unique to every Fusion Server, so it is\nimportant to check the `name` field to ensure this is the Fusion\nServer you intend to interact with.\n\n### [Construct the Full Request](#construct-the-full-request)\n\nNow, by replacing `{endpointId}` with the appropriate value, we can make API proxy requests to the\nFusion Server, such as the following:\n\n    GET https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/overview?sync=true\n\nThe rest of the URL after proxy/proxy (that is not a typo) is the same as those endpoints listed in the [InformaCast\nAdvanced API Documentation](https://www.singlewire.com/help/InformaCastAPI/), though not all endpoints are\navailable via Mobile proxy calls.\n\n> ⚠️ The 'sync=true' allows the request to return a response directly.\n> There are some calls that may take too long to execute and can\n> result in a timeout if executed synchronously, but for the most\n> part, using synchronous calls will give you the result you require.\n\n### [Fusion Server Configuration Resources](#fusion-server-configuration-resources)\n\nAll fusion server configuration resources can be found in the\n[InformaCast Advanced API\nDocumentation](https://www.singlewire.com/help/InformaCastAPI/). If a\nresource listed in the documentation is not available to Fusion via\nMobile proxy calls, a \"resource not available\" response will be\nreturned.\n\nEach resource will follow the general URL structure listed in the\nsections above, using the appropriate extensions and endpoints\nparameters.\n\nAn example configuration resource request here is the Dialcast Dialing\nConfiguration. To create a Dialcast dialing configuration, use the\n'POST /V1/Admin/DialCast/dialingConfigurations' resource, making an\nAPI proxy request to the Fusion Server like this one:\n\n```\ncurl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/41a7f094-57a7-11e8-b511-1b4b03640c60/proxy/proxy/V1/Admin/DialCast/dialingConfigurations?sync=true\" \\\n  -X PUT \\\n  -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"dialingPatternRegEx\": \"1357\", \\\n       \"authType\": 0, \\\n       \"messageId\": 867, \\\n       \"messageDescription\": null, \\\n       \"recipientGroups\": [961, 6678], \\\n       \"recipientGroupName\": \"\", \\\n       \"dialcodes\": [\"123\"], \\\n       \"dns\": [\"12\", \"13\"]}'\n```\n\nThis would return something like the following:\n\n```json\n{\n  \"id\": 14267,\n  \"dialingPatternRegEx\": \"1357\",\n  \"authType\": 0,\n  \"messageId\": 867,\n  \"messageJson\": {\n    \"description\": \"Example Humoctopus Alert\",\n    \"id\": 867\n  },\n  \"messageDescription\": null,\n  \"recipientGroups\": [6678,961],\n  \"recipientGroupsJson\": [\n    {\n      \"name\": \"Recipient Group 1\",\n      \"id\": 6678\n    },\n    {\n      \"name\": \"Recipient Group 2\",\n      \"id\": 961\n    }\n  ],\n  \"recipientGroupName\": \"\",\n  \"dialcodes\": [\"123\"],\n  \"dns\": [\"13\",\"12\"]\n}\n```\n\n> ⚠️ PLUGINS: Some of the Fusion server configuration resources are\n> described as \"Plugins\". These resources will include the \"Plugin\"\n> distinction within the URL. See Generic Multicast Streaming for an\n> example. The plugins currently supported by fusion are:\n>\n> * Call Aware\n> * Legacy Paging Interface\n> * M2M\n> * Night Bell\n> * Paging Gateway\n> * Quick URL\n> * Generic Multicast Streaming\n\n\n## [Overriding the Request Method](#overriding-the-request-method)\n\nFor HTTPS clients that only know how to make `GET` requests, adding a query parameter of `_method` will allow you to override the request method. For instance `GET /api/v1/session?_method=DELETE&access_token=CADDCD33...` will delete the user's session.\n\nAll other request parameters need to be query parameters, so it's not an appropriate technique for uploading files\nor updating nested structures.\n\n\n\n## [Change Log](#change-log)\n\nTo view or subscribe to upcoming API changes, check out the [API Developer Announcements](https://support.singlewire.com/s/group/0F93b0000009OVt/api-developer-announcements).\n\n\n### Changes from 2026-10-21\nComplete access to a notification granted solely through creator permissions will be removed 30 days after the notification was sent; partial access through a user's sent notifications page will still be available.\n\n### Changes from 2026-09-23\n\n* *BREAKING CHANGE:* Ring List entries will be capped at a total of 128 per ring list. You will be prevented from saving Ring Lists exceeding this cap.\n* *BREAKING CHANGE:* A `POST` to the `/notifications` endpoint will no longer return notification recipients such as `users`, `distributionLists`, `collaborationGroups`, `areasOfInterest`, and `deviceGroups` by default. These can still be returned in the response if the opt-in parameters `includeUsers`, `includeDistributionLists`, `includeCollaborationGroups`, `includeAreasOfInterest`, or `includeDeviceGroups` are provided and set to `true` on the request.\n* *BREAKING CHANGE:* The `q` parameter on a `GET` to `/notifications/{id}/activities` will no longer search device attributes. They are still returned in `deviceAttributes`. This makes activity queries on large notifications substantially faster; since device attribute search only shipped in the 2026-09-09 release, we are making the change on shorter notice than usual.\n\n### Changes from 2026-06-17\n\n* [Site Buildings](#tag--Site-Buildings) with emergency calling enabled no longer require `fccId`, `respondingPsap`, or `preferredPsapNumber` to be set when marking a building as an emergency building. Emergency calling can now be configured without PSAP information, allowing emergency services to be reached directly without specifying a particular PSAP.\n\n### Changes from 2026-04-22\nAll integration scenarios in global must now be shared. All existing integration scenarios in global that are not shared will be updated accordingly.\n\n### Changes from 2025-12-16\n\nFixed schema and examples for the `POST` `scenario-notifications` endpoint. This didn't change the underlying API but updated the documentation to match reality.\n\n### Changes from 2025-08-13\n* *BREAKING CHANGE:* Outbound CAP Endpoint connection configurations using a URL that contains an IP Address or *.singlewire.com address will be removed and no longer allowed.\n\n### Changes from 2025-08-06\n* *BREAKING CHANGE:* The ICMobile Plugin is being deprecated. It will no longer be possible to create new user tokens for users with a type of 'application' and an application of 'mobile-plugin'.\n\n### Changes from 2025-07-30\n* *BREAKING CHANGE:* Legacy outbound RSS feed URLs will be removed. If you are using an outbound RSS feed located at https://rss.icmobile.singlewire.com/{collaboration-group-id} or https://api.icmobile.singlewire.com/api/rss/{collaboration-group-id}, they will no longer work. You should instead use the new URL, which can be found by navigating to the outbound RSS feed details page on the administrative web application. It will look like https://rss.icmobile.singlewire.com/outbound-rss-feed/{collaboration-group-id}.\n\n### Changes from 2025-03-26\n\n* *BREAKING CHANGE:* A `GET` to the `/extensions/*/endpoints` route will no longer return license information. Instead, this information can be retrieved from `/extensions`.\n\n### Changes from 2025-01-15\n\n* The OpenID token for the current session is no longer returned as part of the `/session` object, to reduce the chances of it being inadvertently stored somewhere readable in clear text. Since the only way to request the session is to already have access to a valid token, this is not a breaking change.\n\n### Changes from 2024-12-18\n* *BREAKING CHANGE:* Files may no longer be uploaded by including a base64 blob in a JSON object. All file upload via `PUT` or `POST` must now use multipart/form-data.\n\n### Changes from 2024-10-23\n* *BREAKING CHANGE:* A `POST` or `PUT` to the `/message-template` route will return a validation error if the payload has both `alertTone=silent` and `priority=critical`. Any currently existing message templates that have a critical priority and silent alert tone will be treated as if it was not critical.\n\n### Changes from 2024-10-09\nThe breaking changes below were originally slated to be released on 2024-09-25. However, we have decided to delay these changes to 2024-10-09.\n* *BREAKING CHANGE:* A GET to the `*/external-sources` routes for sites, buildings, floors, and zones will no longer return all external sources for the given subresource in the response. Instead, it will return just the external sources for the provided site, building, floor, or zone id.\n* *BREAKING CHANGE:* Going forward, boolean parameters on our endpoints will no longer accept values that are not booleans or strings. We will return a validation error if invalid boolean parameters are passed.\n  * In particular, passing numbers into a boolean parameter will result in a validation error.\n  * In particular, passing `null` into a boolean value will no longer be treated as `false`, and we will instead treat the parameter as if it was never set.\n    * This means passing `null` into a **required** boolean parameter with no default value will result in a validation error, as if it was never set.\n  * Note that supplying native boolean values is only possible when sending a JSON payload.\n  * The behavior where strings are passed into boolean parameters will remain unchanged. In particular, strings will be coerced to `true` if the `\"true\"` string is passed, and will be coerced to `false` for all other string values.\n* We will now run our request parameter coercion logic on GET and DELETE requests, in addition to the request parameter coercion logic already present on POST and PUT requests.\n\n### Changes from 2024-09-04\n\n* *BREAKING CHANGE* HTTP requests will no longer be allowed and must be transitioned to HTTPS instead. This is a security change, made to avoid clients passing authentication over an unencrypted channel. Previously a `301 Moved Permanently` response was returned when making a request via HTTP, but now a `426 Upgrade Required` response will be returned.\n\n### Changes from 2024-07-31\n\n* *BREAKING CHANGE*\n\n* Once all Fusion servers have migrated to version 14.25.1 or higher, all routes ending in `/proxy/V1/Admin/DialCast/**` and `/proxy/Fusion/V1/Admin/DialCast/**` will have been removed and replaced with routes for the [DialCast Dialing Configurations](#tag--DialCast-Dialing-Configurations) and [DialCast Phone Exceptions](#tag--DialCast-Phone-Exceptions) resources.\n\n### Changes from 2024-06-26\n\n* *BREAKING CHANGE* The behavior of the property `locationResolutionStrategy` of the `/v1/scenario-notifications` API has changed.\n  This field sets how the final reported location of the scenario and site roles are determined. Items are checked in the order\n  present and only items present are considered. Previously if you only specified [\"device\"], it would fallback to the\n  location param and previously if you specified only [\"location\"] it will fallback to the device's location is present. This behavior\n  was incorrect but may affect a small subset of API users relying on this incorrect behavior.\n\n* *BREAKING CHANGE* In the [Applications](#tag--Applications) API, the `isPublic` request and response attribute has been renamed\n  to `forMarketplace` to better reflect its purpose as reserved for a future release.\n\n#### Added\n\n* [Scenario Notifications](#tag--Scenario-Notifications) initiated on a floor with a floor plan image and boundary will now store\n  a copy of that image with the boundary drawn on the image, represented by the new `floorPlanWithBoundaryFile` response attribute.\n\n* [Scenario Notifications](#tag--Scenario-Notifications) now accept optional `includeFloorPlanWithBoundary` and `includeBinaryUrls` params which determine whether the above `floorPlanWithBoundaryFile` attribute is included in the response and whether a CloudFront URL for the image is included.\n\n\n### Changes from 2024-05-15\n\n* *BREAKING CHANGE* Changed the behavior of the `initiationDevice` attribute of a POST to `/scenario-notifications`.\n  Rather than only providing `externalId`, you must now provide a `type` and a `lookupValue` in the `initiationDevice` JSON. For an API Device, `type` will be `\"api-device\"` and `lookupValue` will be the external ID of the API Device. The existing behavior of only requiring `externalId` will be deprecated for one release to allow payloads to be modified, and will no longer work on 2024-06-26.\n\n* *BREAKING CHANGE* Changed the behavior of `/users`.\n  You will no longer be able to access a user's Locations, Subscriptions, Security Groups, or Tokens directly from the `/users` response.\n  You will instead need to make specific requests to `/users/{userId}` subresources to access this information.\n\n### Changes from 2024-04-03\n\n#### Added\n\n* New [API Devices](#tag--API-Devices) resource combines external devices’\n  IDs with their location data, improving scenario initiations through\n  inbound integrations.\n\n#### Changed\n\n* [Scenario Notifications](#tag--Scenario-Notifications) now accept an optional\n  `initiationDevice`, an API Device that can be used to determine the\n  location of the scenario.\n* [Scenario Notifications](#tag--Scenario-Notifications) now accept an optional\n`locationResolutionStrategy`, which determines whether the system\nprioritizes a provided location object or the location found in\n`initiationDevice`. Defaults to the location object.\n* The Reasons array on the [Alarm Events](#tag--Alarm-Events) endpoint is deprecated in favor of a new Events JSON object. This change helps store additional metadata\nabout the event for logging and audit purposes.\n__NOTE:__ The Reasons array will be removed at a later date.\n* Manual Alarm Events are now accepted on the Alarm Events endpoint\n  when they meet the appropriate criteria.\n\n### Changes from 2024-02-21\n\n#### Added\n\n* New [Scenario Rule Actions](#tag--Scenario-Rule-Actions) resource to allow configuring API connectors on a scenario.\n* New [Rule Actions](#tag--Rule-Actions) resource to view all API connectors.\n\n\n### Changes from 2023-12-13\n\n* *BREAKING CHANGE* You will no longer to be able to create API tokens that do not expire. These will now default to a 1 year expiration.\n* A new [Token Expiration Alarm](#tag--Alarms) is now available to notify admins of when API tokens are near expiration.\n* Message Template ID is no longer required for [Alarm Actions](#tag--Alarm-Actions) for easier of configuration.\n* A new Token Expiration Report is now available to discover service accounts, users,\nand fusion servers with tokens that are nearing expiration.\n* Document new request and response attributes for [User Tokens](#tag--User-Tokens).\n\n\n### Changes from 2023-09-20\n\n* The [Site Buildings](#tag--Site-Buildings) resource has a new `skipAddressValidation`\nattribute which can be used to forcibly specify building address\ncomponents (which must include accurate latitude and longitude) when\nthere is a problem with the Google Maps data which is used to validate\naddresses.\n\n\n### Changes from 2023-08-09\n\n* *BREAKING CHANGE* As of ICOP 14.17.1, on-premise resources such as\n  MT, RG, etc. will no longer have their numeric `id`s associated with\n  cloud resources. This affects usage of the `assoc-sync-state`,\n  `assoc-sync-state-ids`, `assoc-sync-state-for-endpoint` query\n  params. Users can now fetch these resources on-prem via their\n  `/Fusion/v1/*` API's using the new UUID id field. See table below\n  for the complete list of new `/Fusion/v1/` API's available, and the\n  InformaCast API docs for more info.\n\n Old                     | New\n-------------------------|--------------------------------\n /V1/ActivationGroups    | /Fusion/V1/ActivationGroups\n /V1/Admin/Telephony     | /Fusion/V1/Admin/Telephony\n /V1/Admin/TtsLexicon    | /Fusion/V1/Admin/TtsLexicon\n /V1/Admin/TtsVoices     | /Fusion/V1/Admin/TtsVoices\n /V1/Bells               | /Fusion/V1/Bells\n /V1/Endpoints           | /Fusion/V1/Endpoints\n /V1/Messages            | /Fusion/V1/Messages\n /V1/Plugins/NightBell   | /Fusion/V1/Plugins/NightBell\n /V1/RecipientGroups     | /Fusion/V1/RecipientGroups\n /V1/ScheduledBroadcasts | /Fusion/V1/ScheduledBroadcasts\n /V1/Plugins/CallAware   | /Fusion/V1/Plugins/CallAware\n /V1/Plugins/M2M         | /Fusion/V1/Plugins/M2M\n /V1/Plugins/NightBell   | /Fusion/V1/Plugins/NightBell\n\n\n### Changes from 2023-06-28\n\n* *BREAKING CHANGE* Changed the behavior of `/extensions/*/endpoints`, now endpoints that haven't reported build-info\n  yet will not be included in the list. New qp `include-pending` can be used to restore prev behavior.\n* *BREAKING CHANGE* The extension endpoints API has been changed to no longer return endpoints that have not\n  registered their build information yet.\n* New `?include-pending=true` query parameter added which can restore previous functionality, if desired.\n* New alarm added, `fusion-delta-sync-error-event`.\n* `createdAt`/`updatedAt` fields added to the following resources:\n    * Activation Groups\n    * Bell Schedules\n    * CUCM Cluster Fusion Servers\n    * CUCM Clusters\n    * Clear Device Schedules\n    * Device Groups\n    * Distribution Lists\n    * Extension Endpoints\n    * Extensions\n    * Failover Pairs\n    * Message Templates\n    * Ring Lists\n    * Scheduled Notifications\n    * Security Group Members\n    * Subscriptions\n    * Text-to-Speech Defaults\n    * Text-to-Speech Lexicons\n    * Text-to-Speech Voices\n* Exposed `syncId` on Clear Device Schedules.\n\n* *BREAKING CHANGE*  Editing the backup endpoint of the failover pair, deleting the failover pair itself, or deleting\n  the primary endpoint of a failover pair result in a factory reset of the backup endpoint. The factory reset occurs\n  to prevent unexpected behavior if a backup endpoint becomes a standalone or primary endpoint. Routes affected:\n  * `PUT /failover-pairs/{failoverPairId}`\n  * `DELETE /failover-pairs/{failoverPairId}`\n  * `DELETE /extension/{fusionExtensionId}/endpoints/{primaryEndpointId}`\n\n\n### Changes from 2023-05-16\n\n*BREAKING CHANGE*\n\n* In the 2023-02-22 API release, the `contacts` attribute was\n  added to the `sites_buildings` resource. In a future release,\n  it was to be used for contacting emergency services. That\n  field will no longer be needed. The 2023-05-16 release will\n  remove the attribute. If you have put any data in this\n  attribute (despite the lack of access to it from the\n  Administration Console), that data will be discarded.\n\n#### Added\n\n* [Scenarios](#tag--Scenarios) can now be configured to automatically\n  call emergency services when they are initiated (if this feature\n  has been purchased for your organization).\n* New attributes have been added to [Site Buildings](#tag--Site-Buildings)\n  to support the new emergency calling feature.\n* When previewing simulated answers for a scenario, it is now possible\n  to use the new `checkPanicRange` query parameter to determine\n  whether a given latitude and longitude is within a one-mile range of\n  a building with emergency calling enabled. This range is required to\n  automatically initiate a response from emergency services when\n  initiating a panic button scenario that also has emergency calling\n  enabled.\n* When sending scenarios with emergency calling enabled, the\n  [Scenario Notification](#tag--Scenario-Notifications) will\n  use a new `emergencyAction` attribute to report whether the process\n  of contacting emergency services has been initiated.\n* When an [Incident](#tag--Incidents) is created from a\n  scenario with emergency calling enabled, a new\n  `emergencyCallingStatus` attribute reflects the latest update\n  reported by the emergency services integration provider.\n* New fields have been added to the [Load Definitions](#tag--Load-Definitions)\n  resource to support integrations with SISs (Student Information\n  Systems) that support the OneRoster format. Unless a provider has\n  had these loaders enabled, adding loaders of the `sis` type with\n  these fields will be disabled. Contact Singlewire Sales/Support if\n  you need this feature. Additionally, connections between\n  SCIM Groups created by these loaders and [Distribution Lists](#tag--Distribution-Lists)\n  are now enabled through a new field on the latter.\n\n### Changes from 2023-02-22\n\n#### Changed\n\n*BREAKING CHANGE* As announced last fall, there is a significant\nchange to the way that site information is communicated for scenarios.\nThis was previously implemented using a single `site` field which\ncould be answered with a site ID or name. To improve consistency, and\nto add support for more detailed location information, `site` fields\nare being removed from scenarios, and instead a `location` object will\nbe submitted when creating scenario notifications. This `location`\nobject will at minimum contain a `site` object specifying the site ID,\nbut can also contain `building`, `floor`, and `zone` objects (again,\nspecifying their IDs) for increasing levels of detail.\n\nRather than using a `site` field, scenarios will indicate that they\nsupport location information with a new `locationEnabled` boolean\nattribute. When `locationEnabled` is `true`, the text that clients\nshould use to prompt for location information will be configured using\nthe new attribute `locationQuestionName`, and a backwards-compatible\nvariable in which a summary of the `location` object will be made\navailable for customizing notification text will be configured using\nthe new attribute `locationVariable`. Default answers for site,\nbuilding, floor, and zone can be configured using the new attributes\n`defaultSiteId`, `defaultBuildingId`, `defaultFloorId`, and\n`defaultZoneId` (an example of increased flexibility; previously it\nwas only possible to specify a default site).\n\nExisting scenarios which have `site` fields will be migrated\nautomatically to use `locationEnabled` instead, and the values of\n`locationQuestionName`, `locationVariable`, and `defaultSiteId` will\nbe set up from the former `site` question.\n\nTo offer backwards compatibility with older mobile clients, for\nseveral releases after the switch to using `location` a synthetic\n`site` question will be reported in the `fields` response for any\nlocation-enabled scenario. (This fake `site` field can be recognized\nbecause it is the only `site` field that will exist in a scenario,\nwill have an `id` of `55ca36de-4b3c-11ed-aeff-17a043a08a03`, and will\nalways have the highest `rank`.) Clients that do not yet know how to\nsend the `location` object will be able to continue sending this field\ninstead. Code that has been updated to send `location` values must\nfilter out this question, since it is redundant with sending\n`location`, and attempts to send both `location` and a `site` field\nwill result in a validation failure. Applications should be updated to\nsend the more flexible `location` object as soon as possible. A few\nreleases after location is supported, this backwards compatibility\nmode will be removed: the synthetic `site` question will stop\nappearing in the `fields`, and will no longer be accepted when sending\na scenario notification.\n\n**NOTE** We had previously planned on using a `rank` of `0` for the\n  fake `site` question, but this turned out to create compatibility\n  problems with older versions of some mobile apps, so we changed to\n  this approach for better compatibility during the transition period.\n\nEven during the period of backwards compatibility, it will not be\npossible to configure scenarios to have actual `site` fields using the\nscenarios API. The administrative web application will be updated to\nuse the new `locationEnabled` and related attributes described above,\nand any other integrations which directly manipulate scenario\nresources will need to make the same changes.\n\n\n#### Added\n\n* There is a new [License Acceptances](#tag--License-Acceptances) resource\n  which will be used to support separately-licensed features as they\n  are released in the future.\n\n\n### Changes from 2022-12-14\n\n#### Added\n\n* When fetching site buildings, floors, and zones, it is now possible\n  to request that the names of parent resources (site, building,\n  and/or floor) be included in the response by supplying the query\n  parameter `include-parent-names` with the value `true`.\n* Site buildings can now have address information associated with\n  them, and when this is supplied, their latitude and longitude will\n  be calculated. Sites themselves will report the latitude and\n  longitude of the centroid (geographic average) of any buildings\n  whose geolocation is known.\n* Roll Call resources as part of [Incidents](#tag--Incidents). Roll Call allows\n  for updating statuses and locations of users during an incident.\n* The [Clear Devices](#tag--Clear-Devices) resource has been added to the\n  API to allow for a means of clearing on-premises device screens on a\n  specified schedule. This is meant to make end users more aware of\n  when they have received a notification by keeping their screens\n  clear when a notification is not active.\n\n\n### Changes from 2022-11-02\n\n#### Changed\n\n* *BREAKING CHANGE* The `assoc-sync-state` query param across all\n  supported resources no longer returns the last reported synced\n  resource id. Instead, a new query param\n  (`assoc-sync-state-for-endpoint`) was added which will return the\n  last reported sync state for a specific endpoint which will include\n  the last reported sync id.\n* *BREAKING CHANGE* When listing [Notifications](#notifications), the resource no longer\n  returns information about attached Areas of Interest, Device Groups, Distribution Lists,\n  Outbound Systems, or Users, unless their respective query parameter (`includeAreasOfInterest`,\n  `includeDeviceGroups`, `includeDistributionLists`, `includeCollaborationGroups`, or\n  `includeUsers`) is utilized.\n* *DEPRECATION NOTICE* `/sites/{siteId}/floors` is being replaced with\n  `/sites/{siteId}/buildings/{buildingId}/floors` and\n  `/sites/{siteId}/floors/{floorId}/zones` is being replaced with\n  `/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones`. Any\n  floors that already exist during this release will result in the\n  creation of a building (\"Main Building\") in that site which takes\n  ownership of the floors. The backward-compatible APIs which do not\n  include a building ID will work fine as long as there is at most one\n  building in the site, and they will create a default building when\n  creating a floor if the site has no buildings. Once multiple\n  buildings per site are in use, only the new APIs will work reliably:\n  the old APIs will non-deterministically choose a building ID, which\n  will not work for looking up floors in other buildings. This also\n  means that all users' mobile clients must be upgraded to a current\n  release before multiple buildings are created.\n\n#### Added\n\n* Added a [Site Buildings](#tag--Site-Buildings) resource for managing\n  buildings belonging to sites.\n\n### Changes from 2022-09-21\n\n#### Changed\n\n* *BREAKING CHANGE* The [Message Templates](#tag--Message-Templates) resource no\n  longer returns an embedded notification profile, unless the query\n  parameter `includeNotificationProfile` is supplied with a true\n  value.\n\n* There are two pairs of extensions which are now treated by the user\n  interface as a single concept: the iOS and Android push extensions\n  are jointly managed as InformaCast for iOS/Android, and the macOS\n  and Windows push extensions are jointly managed as InformaCast for\n  Mac/Windows. Because of this, granting or revoking a user or group\n  permission to one of either pair will automatically grant or revoke\n  permission to the other, and enabling or disabling an extension in\n  either pair will automatically enable or disable the other.\n\n\n### Changes from 2022-08-10\n\n#### Added\n\n* The [Users](#tag--Users) resource now includes an attribute\n  `tfaRemovalRequested` which causes the user's two factor\n  authentication to be deactivated on next login (available only for\n  Providers configured to use InformaCast&rsquo;s own Identity\n  Provider for login).\n\n* The [Scenarios](#tag--Scenarios) endpoint includes three new\n  attributes: the string `winHotkeys`, which is used to specify a\n  keyboard combination to send scenarios, and the `silentHotkey`\n  boolean value (default `false`) and string `customConfirm`, both of\n  which are used to customize scenario-sending behavior.\n\n* The [Sites](#tag--Sites) endpoint now has a new endpoint for Site\n  Floors. See [Site Floors](#tag--Site-Building-Floors) for\n  more details. This new endpoint has another endpoint for Site Floor\n  Zones. See [Site Floor Zones](#tag--Site-Building-Floor-Zones) for more details.\n\n* The [Sites](#tag--Sites) endpoint now has a new endpoint for Site\n  Role Recipients. See [Site Recipients](#tag--Site-Recipients) for more\n  details.\n\n* The [Site Roles](#tag--Site-Roles) endpoint now has a new endpoint for\n  Site Roles Associated Sites. See [Site Roles Associated Sites](#tag--Site-Roles-Associated-Sites) for more details.\n\n* The [Sites](#tag--Sites) endpoint includes a new request\n  parameter: the boolean `includeFloorTotal` to list the total amount\n  of floors the site has.\n\n### Changes from 2022-06-29\n\n* Notification previews can be created using a new `draft` attribute\n  when POSTing a [Notification](#tag--Notifications). It's\n  not actually sent to any recipients; it allows you to view the users\n  and devices that would receive the notification were it to be sent.\n* When listing the [Notification Devices](#tag--Notification-Devices) resource,\n  requests can be filtered using the query parameters\n  `deviceIdentifier`, `type`, and `types`.\n* The [Notification Devices](#tag--Notification-Devices) response includes a `user`\n  object when the `userId` value is not `null`, which contains\n  information about the user associated with the device as that user\n  existed when the notification was sent (as preserved in the\n  [User Notifications](#tag--User-Notifications) table).\n* When listing the [Notification Recipients](#tag--Notification-Recipients) resource,\n  requests can be filtered using the query parameters\n  `confirmableOnly` and `types`.\n* *BREAKING CHANGE* `activityCounts` have been removed from the\n  [Notification History Report](#tag--Notifications). Please\n  use `notificationProgress` instead.\n\n### Changes from 2022-06-01\n\n#### Changed\n\n* To make it easier to adjust to the removal of the `auto` choice in\n  [Message Template](#tag--Message-Templates) display\n  settings, the default value when omitted is now automatically\n  assigned either `show` or `hide` based on whether the corresponding\n  field contains content, instead of requiring the appropriate value\n  to be explicitly sent in the `POST` parameters. This is effectively\n  now backwards compatible with the behavior prior to 2022-05-18, when\n  it would default to `auto`, even though that is no longer a valid\n  option itself.\n\n### Changes from 2022-05-18\n\n#### Changed\n\n* *BREAKING CHANGE* As previously announced, there have been a number\n  of changes to the [Message Template](#tag--Message-Templates) API to simplify working with them and sending\n  notifications.\n  * The `auto` choice is no longer available for any of the attributes\n    which control the display of sections of the message template at\n    send time (e.g. `audioDisplay`). The only valid choices are `show`\n    or `hide`. Any former `auto` values were changed to `show` if the\n    corresponding field in the Message Template contained content or\n    if the corresponding customizable setting (e.g.\n    `audioCustomizable`) was `true`. If the attribute was empty and\n    not customizable, its corresponding display attribute was set to\n    `hide`.\n  * It is no longer possible to create or configure message templates\n    where the `display` attribute is `show` but there is no\n    corresponding content and the `customizable` attribute is `false`.\n    It will also be impossible to save a message template where an\n    attribute has content but its `display` value is `hide`.\n  * The `subjectDisplay` and `bodyDisplay` attributes now always have\n    the value `show`, because it is no longer possible to hide these\n    elements. They will be completely removed in a future release once\n    there has been time to update all API clients.\n  * The `alertToneDisplay`, `ttsCustomContentDisplay`, and\n    `ttsVoiceIdDisplay` attributes will no longer have their own\n    independent values, they are controlled by the value of\n    `audioDisplay`. For any existing templates, a `show` value for any\n    of these four attributes (after following the rules above for\n    migration of former `auto` values) resulted in `audioDisplay`\n    being set to `true`.\n  * It is no longer possible to save Message Templates where\n    `alertToneDisplay`, `ttsCustomContentDisplay`, or\n    `ttsVoiceIdDisplay` has a value that differs from `audioDisplay`\n    (attempts to set any of these values other than `audioDisplay`\n    will be rejected). In a future release all but `audioDisplay` will\n    be removed entirely, once there has been time to update all API\n    clients.\n  * The `optOut`, `metaData`, and `metadataCustomizable` attributes\n    are no longer supported, and have been removed. Please use the\n    `isSubscribable` feature in [Distribution Lists](#tag--Distribution-Lists) to\n    replace the opt-out feature in Message Templates.\n  * The User Message Templates resource, which was tied to the removed\n    `optOut` attribute, no longer returns any values. In a future\n    release it will be removed entirely, once there has been enough\n    time for all API clients to be updated.\n  * The Opted Out Report no longer returns any values. In a future\n    release it will be removed entirely, once there has been enough\n    time for all API clients to be updated.\n* The [Notification Profiles](#tag--Notification-Profiles) resource has a new\n  read-only attribute, `default`, which indicates whether a\n  notification profile is the default to be used with [Message Templates](#tag--Message-Templates) that do not specify a different one.\n* The [Notification Profiles](#tag--Notification-Profiles) resource has a new\n  attribute, `includeMessageTemplates`, which can be set to true in\n  any request to cause another new attribute, `messageTemplates`, to\n  be returned in the response, listing the IDs and names of all\n  [Message Templates](#tag--Message-Templates) that use it.\n* When `POST`ing a [Notification](#tag--Notifications),\n  there is a new request attribute `extensionSettingsOverrides`, which\n  can be used to disable device extensions which were enabled in the\n  [Notification Profile](#tag--Notification-Profiles).\n* The [Scenarios](#tag--Scenarios) API now supports integration\n  scenarios, which is a new type of scenario merging the additional\n  layer of removed scenario launchers into existing scenario types.\n\n#### Removed\n\n* *BREAKING CHANGE* The `Scenario Launchers` resource has been removed.\n\n\n### Changes from 2022-02-23\n\n#### Deprecated\n\n* *BREAKING CHANGE* In an upcoming release (likely in the spring of\n  2022) there will be a number of changes to the [Message Template](#tag--Message-Templates) API to simplify working with them and\n  sending notifications.\n  * The `auto` choice will no longer be available for any of the attributes which control the display of sections of the message template at send time (e.g. `audioDisplay`). The only valid choices will be `show` or `hide`. Any existing `auto` values will be changed to `show` if the corresponding field in the Message Template contained content or if the corresponding customizable setting (e.g. `audioCustomizable`) was `true`. If the attribute was empty and not customizable, its corresponding display attribute will be set to `hide`.\n  * It will no longer be possible to create or configure message templates where the `display` attribute is `show` but there is no corresponding content and the `customizable` attribute is `false`. It will also be impossible to save a message template where an attribute has content but its `display` value is `hide`.\n  * The `subjectDisplay` and `bodyDisplay` attributes will now always have the value `show`, because it is no longer possible to hide these elements. They will be completely removed in an even later release once there has been time to update all API clients.\n  * The `alertToneDisplay`, `ttsCustomContentDisplay`, and `ttsVoiceIdDisplay` attributes will no longer have their own independent values, they will be controlled by the value of `audioDisplay`. For any existing templates, a `show` value for any of these four attributes (after following the rules above for migration of former `auto` values) will result in `audioDisplay` being set to `true`.\n  * It will no longer be possible to save Message Templates where `alertToneDisplay`, `ttsCustomContentDisplay`, or `ttsVoiceIdDisplay` has a value that differs from `audioDisplay`. In a future release all but `audioDisplay` will be removed entirely, once there has been time to update all API clients.\n  * The `optOut`, `metaData`, and `metadataCustomizable` attributes are no longer supported, and will be removed immediately. Please use the `isSubscribable` feature in [Distribution Lists](#tag--Distribution-Lists) to replace the opt-out feature in Message Templates.\n  * The User Message Templates resource, which was tied to the removed `optOut` attribute, will no longer return any values. In a future release it will be removed entirely, once there has been enough time for all API clients to be updated.\n  * The Opted Out Report will no longer return any values. In a future release it will be removed entirely, once there has been enough time for all API clients to be updated.\n\n\n#### Added\n\n* The [Notifications](#tag--Notifications) API now supports date/time variables which can be used in the subject/body/tts custom content. An additional `raw` query param on GET requests was also added to return the subject/body back in its original form before the date/time variables were substituted.\n* Added a new [Settings](#tag--Settings) API resource for configuring globally preferred timezone/locale.\n\n\n\n### Changes from 2021-12-15\n\n#### Removed\n\n* *BREAKING CHANGE* As was announced on 2021-11-03, `lockStart` and `lockEnd` values for [Users](#tag--Users) are no longer supported. User locks can be modified using isLocked instead.\n\n### Changes from 2021-11-03\n\n#### Added\n\n* The [Scenario](#tag--Scenarios) response now includes `type`, `phoneNumber` and `instructions`, which provides support for the new Panic Button scenarios using the `/scenarios` endpoint.\n\n#### Changed\n\n* *BREAKING CHANGE* The locking system for [Users](#tag--Users) has changed.\n    * `lockStart` and `lockEnd` will be replaced by the boolean `isLocked`.\n    * Existing user locks will be automatically converted to booleans. Current `lockEnd` dates will be ignored and users will now need to be unlocked manually.\n    * New `lockStart` dates are still accepted and will be converted to isLocked automatically. However, this is highly discouraged as support for `lockStart` will be removed completely in the next release.\n    * Do not attempt to lock or unlock users during the release window. Any locks added may be lost.\n\n#### Removed\n\n* *BREAKING CHANGE* As was announced on 2021-09-22, the user type `unauthenticated-desktop` is no longer supported. These API endpoints will not accept it as a valid filtering parameter:\n    * [Users](#tag--Users)\n    * [User Devices](#tag--User-Devices)\n\n### Changes from 2021-09-22\n\n#### Deprecated\n\n* *BREAKING CHANGE* As of the next release (currently scheduled for November 2021) the endpoints and filters associated\nwith unauthenticated user registration (for Cloud IDNs) will be removed.\n    * The user type `unauthenticated-desktop` associated with unauthenticated users will be removed\n    * [User](#tag--Users) and [User Device](#tag--User-Devices) filtering will no longer accept or return users of type `unauthenticated-desktop`\n\n### Changes from 2021-08-04\n\n#### Added\n\n* The pagination parameters now support an `include-total` query param.\n* The `TelephonyNumbers` report has new attributes `serviceProvider` and `type`.\n* The following resources can now be copied using a `/clone` endpoint:\n    * Bell Schedules\n    * Confirmation Requests\n    * Device Groups\n    * Distribution Lists\n    * Message Templates\n    * Notification Profiles\n    * Ring Lists\n    * Scenarios\n    * Scheduled Notifications\n    * Security Groups\n\n#### Changed\n\n* *BREAKING CHANGE* The `number` attribute in the `TelephonyNumbers` report has been renamed `phoneNumber`.\n\n\n### Changes from 2021-06-30\n\n#### Added\n\n* The `include-counts` query param under the [CUCM Clusters](#tag--CUCM-Clusters) has been removed. Please use `include-total` instead.\n* The `include-counts` query param under the [CUCM Cluster](#tag--CUCM-Clusters) Fusion Servers has been removed. Please use `include-total` instead.\n* *BREAKING CHANGE* The `isCampaignNumber` attribute in the `TelephonyNumbers` report has been removed, as that concept no longer exists.\n* The `Incident Plans` and `Incidents` resources. Each have various subresources and both are Facility-enabled.\n* The `Confirmation` report to view a list of all notification confirmation responses over a period of time.\n\n#### Changed\n\n* The [Users](#tag--Users) documentation now includes the description of application types supported by the API. A new user type - `unauthenticated-desktop` - is also documented.\n* A new user device type - `WNS` - is now supported by the [User Devices](#tag--User-Devices) API.\n\n\n#### Deprecated\n\n* *BREAKING CHANGE* The `isCampaignNumber` attribute in the `TelephonyNumbers` report will be removed, as that concept will no longer be relevant. At the same time, the `number` attribute will be renamed `phoneNumber`, and some new attributes will be added.\n\n#### Removed\n\n* *BREAKING CHANGE* The `TelephonyUsage`, `TelephonyTotalSpent`, `TelephonyStatus`, `TelephonyBalanceAdjustments`, and `DailyTelephonyBalance` reports have been removed.\n* *BREAKING CHANGE* The `usage` key under the `NotificationHistory` has been removed.\n\n\n### Changes from 2021-05-12\n\n#### Added\n\n* The [Message Template](#tag--Message-Templates) response\nand [Notification](#tag--Notifications) response now include\n`audioFiles` and `imageFiles` arrays, which provide a superset of the\ninformation that was previously available in the `audio`, `image`, and\n`imageMimeType` attributes. Those older attributes are now redundant,\nand will likely be deprecated and removed in future releases.\n* The [User Devices](#tag--User-Devices) response now includes a new\n`updatedAt` attribute which specifies the timestamp of the last update\nto a device's registration record.\n* A new endpoint is added to allow direct access to all user devices: User Devices - Direct Access.\n\n#### Changed\n\n* *BREAKING CHANGE* As mentioned in the change log for the previous\nrelease, requests for image and audio data now involve redirection\nto AWS CloudFront content distribution network nodes geographically\ncloser to the origin of the request, for improved performance.\n* *BREAKING CHANGE* As previously announced, GET requests to /areas-of-interest\nwill return mobile and desktop devices. To maintain existing functionality, requests\nmust specify only `syncedDeviceTypes=mobile` in the new syncedDeviceTypes parameter.\nRequests specifying `syncedDeviceTypes=desktop` are also valid, as discussed in\nthe [AOIs endpoint](#tag--Areas-of-Interest).\n\n* *BREAKING CHANGE* As was announced earlier ([Changes from 2020-12-09](#changes-from-2020-12-09)), it is no longer possible to convert regular user accounts to application or endpoint accounts; application and endpoint accounts can no longer belong to security groups or to have direct permissions (with the exception of custom applications - those still can have direct permissions and be members of security groups.)\n\n### Changes from 2021-04-14\n\n#### Added\n* [Cisco Unified Communications Manager Cluster Configurations](#tag--CUCM-Clusters)\n* Cisco Unified Communications Manager Cluster Server Specific Configurations\n\n#### Updated\n\n* *BREAKING CHANGE* All HTTP clients will need to support HTTP Status 302: Redirect responses, and to follow the redirect.\n* *BREAKING CHANGE* All Advanced/Fusion Server installations will need to have network access to Amazon's AWS CloudFront service.\n* *BREAKING CHANGE* The `convert=pcm` query parameter for converting the audio format when retrieving audio files is\n  deprecated, because it is no longer necessary (as described below), and will stop being supported in a future release.\n* *BREAKING CHANGE* `data` and `log` keys on [Load Request](#tag--Load-Requests) responses have been removed. Associated data can be found on new `/content` and `/log` subresources respectively.\n* *BREAKING CHANGE* Previously, a parent resource path could be called with the appropriate object ID in the body of a\n  request, e.g. _curl -X PUT -d '{\"id\": \"<device id>\"}' '<API URL>/users/<userId>/devices'_. Correct requests must now\n  specify the object ID as a path parameter, e.g. _curl -X PUT '<API URL>/users/<userId>/devices/<deviceId>'_.\n* *BREAKING CHANGE* `GET` requests to `/notifications` and `/notifications/<notificationId>` will no longer return the entire\n  associated Message Template.  It will now only return the name of the Message Template (at the time the notification was sent).\n* The `content-type` header used when sending audio data has been corrected. It was previously a non-standard value\n  which caused problems for some clients, and turned out to be the reason we needed to offer the `convert=pcm` query\n  parameter. The value now returned, `audio/wav`, allows the audio to be used without conversion everywhere it needs to be,\n  so we are deprecating this query parameter (as noted above).\n* *BREAKING CHANGE* In our next release, GET requests to /areas-of-interest will return mobile and desktop devices. To\n  prepare for that change, a new `syncedDeviceTypes=mobile` parameter will be required to only return AOIs that should be\n  synced only to mobile apps. When no `syncedDeviceTypes` are specified, all synced AOIs will be returned in the response.\n\n### Changes from 2020-12-09\n\n#### Added\n\n* Added /v1/brandings content section.\n* Added documentation for `list` brandings, `get` branding and `put` branding requests.\n* Added `providerIdpId` attribute to users.\n* Added `includeIdp` query param to users.\n* Added `providerIdp` object to detailed user response.\n* Added the /users/:user-id/all-permissions resource to allow requesting all of a user's permissions at once.\n* Added the initiationDetails type 'inbound-cap' to the POST /notifications API.\n* Added the POST /extensions/e1b2db4b-626a-11e7-a3f9-0de43455e890/proxy/cap/event endpoint to allow event-based CAP message processing.\n* Added `verified` attribute to user devices.  By default, this value will be set to `FALSE` when adding devices for yourself and `TRUE` when adding devices for other users.\n* Added `requiresOptIn` attribute to extensions.\n* Added [Dynamic Replies](#tag--Confirmation-Request-Dynamic-Replies) to [Confirmation Requests](#tag--Confirmation-Requests).\n* Added [Identity Providers](#tag--Identity-Providers) resource.\n* Added [Self Service Subscriptions](#tag--Self-Service-Subscriptions) resource.\n* Added `isSubscribable` attribute to Distribution Lists. By default, this value will be set to `FALSE` when creating a new Distribution List.\n* Added [User Profile](#user-profile) resource.\n\n#### Updated\n\n* *BREAKING CHANGE* In our next release, all HTTP clients will need to support HTTP Status 302: Redirect responses to follow the redirect.\n* *BREAKING CHANGE* In our next release, all Advanced/Fusion Server installations will need to have network access to Amazon's AWS Cloudfront service.\n* *BREAKING CHANGE* The date format change mentioned in the [Changes from 2020-09-23](#changes-from-2020-09-23) Updated section have been implemented.\n* *BREAKING CHANGE* When creating devices for yourself, you must now verify email, phone-call, and SMS devices by responding to the message prompting you to verify the device.\n* *BREAKING CHANGE* In order to get the value of `passwordResetRequired` (only for users that belong to the Cirrus IDP), you are now required to pass `?includeIdp=true` as a query param in the `GET` request.\n* *BREAKING CHANGE* In order to make InformaCast Mobile more secure, in an upcoming release the following changes will be made that\n  will prevent external application accounts from receiving permissions they do not require to perform their functions:\n\n  * It will no longer be possible to convert regular user accounts to application or endpoint accounts. PUT requests to\n  `/users/:user-id` that effect such conversions will be rejected as invalid. The only exception will be made for cases when\n  regular user accounts are converted to application accounts with application type set to `custom`.\n\n  * Application and endpoint accounts will no longer be allowed to belong to security groups or to have direct permissions.\n  POST requests to `/users/:user-id/security-groups` and `/users/:user-id/permissions` will be rejected as invalid for users whose\n  type is `application` or `endpoint`. The only exception will be made for application accounts whose application type is\n  `custom` - that category of users will still be allowed to belong to security groups and to have direct permissions.\n\n### Changes from 2020-09-23\n\n#### Updated\n\n* *BREAKING CHANGE* In an effort to better comply with official date and time standards, Singlewire\n  will be making a change to some API clients that perform date and time processing\n  for date and time fields. This change may break the backwards compatibility\n  of these API clients. Currently, the majority of date and time fields are in the\n  following format: `2020-06-23T23:06:22.828+0000`. With this change, InformaCast will\n  instead use a proper [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date and time\n  string. For example, InformaCast would return `2020-06-23T23:06:22.828Z` instead of\n  `2020-06-23T23:06:22.828+0000`. This change will allow most languages to be able to\n  parse date and time fields without issue (or custom processing). For most API\n  clients, no changes will be necessary. For example, JavaScript's built-in date parsing\n  or libraries, such as moment.js, can handle both formats gracefully, and Java's JodaTime\n  library can do the same. If you have any custom date and time processing logic,\n  please be sure to verify it can handle proper ISO8601 date and time strings before\n  the format changes.\n\n### Changes from 2020-08-12\n\n#### Added\n\n* Load Definition Excel Templates\n* Overriding the Request Method\n\n#### Updated\n\n* Added Excel spreadsheet data type to [Load Requests](#tag--Load-Requests) section.\n\n### Changes from 2020-06-24\n\n#### Added\n\n* Scenario Launchers\n\n### Changes from 2020-05-13\n\n#### Changed\n\nLimits have been applied to particular resources restricting how many may be created. Affected (limits noted):\n\n* [Activation Groups](#tag--Activation-Groups)\n* [Areas of Interest](#tag--Areas-of-Interest)\n* [Bell Schedules](#tag--Bell-Schedules)\n* [Device Groups](#tag--Device-Groups)\n* [Distribution Lists](#tag--Distribution-Lists)\n* [Facilities](#tag--Facilities)\n* [Extensions](#tag--Extensions)\n* [Message Templates](#tag--Message-Templates)\n* [Ring Lists](#tag--Ring-Lists)\n* [Scheduled Notifications](#tag--Scheduled-Notifications)\n\n### Changes from 2020-04-01\n\n#### Deprecated\n\n* Requests to list all [Load Requests](#tag--Load-Requests) will remove\n  `tagsSeen`, `unmappedTags`, `log`, and `data` from the response. You\n  will still be able to retrieve these attributes via requesting an individual load request.\n\n#### Added\n\n* Activation Groups and Device Groups have received new attributes that are used for managing a new\n  type of devices - multicast-capable Poly&reg; phones. When a provider's license enables the use of Poly&reg; phones, the phones have to be placed in\n  activation groups in order to be grouped by distinct multicast address and port combinations.\n\n    To enable such grouping, the following new fields were added to the payloads of the requests for creating or updating [Activation Groups](#tag--Activation-Groups):\n   - `multicastType`\n   - `multicastAddress`\n   - `multicastPort`\n\n    The details of an activation group returned by the REST API now also include the `usedChannels` attribute that describes its relationship with device groups.\n\n    In addition to activation groups, the multicast-capable devices have to be placed in device groups in order to be able to receive audio notifications.\n    To support that, the payloads of the requests for creating or updating [Device Groups](#tag--Device-Groups) now include the `activationGroupIds` attribute. The details\n  of a device group returned by the REST API include the following new attributes: `activationGroups`, `multicastConfigs`.\n\n    The details of a multicast-capable [Device](#tag--Devices) returned by the REST API will have an additional attribute that indicates which activation group it belongs to: `activationGroupId`.\n\n#### Changed\n\n* The fact that orphaned Collaboration Groups cannot be automatically\n  deleted when deleting a Domain was clarified.\n\n\n### Changes from 2020-02-19\n\n#### Removed\n\n* Announced as deprecated in October last year, the `usableDomains`\n  attribute in [Session](#tag--Session) has now been removed. The same\n  information can be obtained by requesting a user's domains with the `transitive` and `compact` flags.\n\n#### Added\n\n* The Bell Schedules, Collaboration Groups, Device Groups and Ring\n  Lists resources have been Domain-enabled, so there are new\n  Domain Bell Schedules, Domain Collaboration Groups, Domain Device Groups,\n  Domain Ring Lists, Bell Schedule Domains, Collaboration Group Domains,\n  Device Group Domains, and Ring List Domains resources, and new query\n  parameters and response attributes in [Bell Schedules](#tag--Bell-Schedules),\n  [Collaboration Groups](#tag--Collaboration-Groups), [Device Groups](#tag--Device-Groups),\n  and [Ring Lists](#tag--Ring-Lists) themselves when Domains are in use.\n\n\n\n### Changes from 2019-12-16\n\n#### Removed\n\n* REST APIs associated with hybrid devices along with the `replay` audio option (only used for these devices) on\n  [Notification Profile Settings](#tag--Notification-Profiles) have been removed.\n\n#### Added\n\n* The Confirmation Requests resource has been Domain-enabled, so there\n  are new Domain Confirmation Requests and Confirmation Request Domains resources,\n  and new query parameters and response attributes in\n  [Confirmation Requests](#tag--Confirmation-Requests)(#confirmation-requests) themselves when\n  Domains are in use.\n\n\n\n### Changes from 2019-11-13\n\n#### Deprecated\n\n* The `replay` attribute on an InformaCast Device is now deprecated.\n  This attribute was previously used only for hybrid devices\n  (discontinued support for these Cisco IP Phones has been previously\n  announced). In addition to removal of this [Notification Profile Settings](#tag--Notification-Profiles) attribute,\n  full REST API support for hybrid devices (i.e.\n  `/V1/Devices/hybridDevices`) via the Fusion Server extension will\n  also be removed.\n\n#### Removed\n\n  * The `Scheduled Notifications Activities` resource has been removed.\n\n### Changes from 2019-10-30\n\n#### Added\n\n* Added a `syncId` field to [Message Templates](#tag--Message-Templates),\n  [Bell Schedules](#tag--Bell-Schedules), [Ring Lists](#tag--Ring-Lists),\n  [Distribution Lists](#tag--Distribution-Lists), and [Device Groups](#tag--Device-Groups) (for Singlewire use only, API consumers should not use or\n  rely on this value, nor assume that it will continue to exist).\n* Added `type`, `isLicensed`, and `axlError` fields to additions and exclusions for\n  [Device Groups](#tag--Device-Groups), [Activation Groups](#tag--Activation-Groups), and Licenses.\n* Domains Users can now be filtered by `type` query\n  parameter, just like the raw [Users](#tag--Users) resource.\n* The Message Templates, Notifications, and Notification Profiles\n  resources have been Domain-enabled, so there are new Domain Message\n  Templates, Domain Notifications, Domain Notification Profiles,\n  Message Template Domains, Notification Domains, and Notification Profile\n  Domains resources, and new query parameters and response attributes in\n  [Message Templates](#tag--Message-Templates), [Notifications](#tag--Notifications), and\n  [Notification Profiles](#tag--Notification-Profiles) themselves when Domains are\n  in use.\n* When deleting a Domains it is now possible\n  to specify that orphaned resources should be promoted to the parent\n  domain instead of deleting them.\n\n#### Changed\n\n* OPTIONS requests now return a 204 status code instead of a 200.\n\n#### Deprecated\n\n* `usableDomains` in [Session](#tag--Session) is now *deprecated* and\n  will be removed soon. The same information can be obtained by\n  requesting a user's domains with the\n  `transitive` and `compact` flags.\n* The `Scheduled Notifications Activities` resource is *deprecated* and\n  is scheduled to be removed on 2019-11-13.\n","termsOfService":"http://www.singlewire.com/terms","contact":{"name":"Singlewire Software","url":"https://support.singlewire.com/s/api"},"version":"v1"},"servers":[{"url":"https://api2-icmobile.qadev.singlewire.com/api"}],"tags":[{"name":"Activation Groups","description":"![fusion](/api/docs/images/fusion_badge.png)\n\nActivation Groups (filter limit per provider: 2000, filter limit per group: 200) are named groups of [Devices](#tag--Devices), and are the method of distributing these devices across Fusion servers.\n\nActivation Groups are commonly composed of a set of filters that will match certain [Devices](#tag--Devices), a target endpoint for those devices, and a priority of evaluation.\n\n⚠️ Activation Groups may only be created if both Fusion mode and Distributed Activation mode are enabled.\n\n## Activation Group Filters Format\n\nThe JSON document used to represent an Activation Group Filter has the\nfollowing content (see the [InformaCast\nDocumentation](https://documentation.singlewire.com/InformaCastAPI/index.html#list-recipient-group-filter-attributes)\nfor more details):\n\n| Attribute     | Type    | Description                                                                                                                                                                                                                                                       |\n|---------------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| attribute     | String  | The attribute to filter.                                                                                                                                                                                                                                          |\n| complement    | Boolean | Controls whether the filter's meaning is reversed. If `true`, it will match devices that do *not* meet the specified criteria. (You might use this when it is simpler to specify what to exclude; you can think of it as adding \"does not\" in front of the rule.) |\n| comparison    | String  | The comparison used for the filter (`BEGINS_WITH`, `CONTAINS`, `ENDS_WITH`, `EQUALS`, or `MATCHES_REGEX`; legal values depend on the attribute).                                                                                                                  |\n| value         | String  | A text value for comparison.                                                                                                                                                                                                                                      |\n| caseSensitive | Boolean | Controls whether comparisons should care about capitalization.                                                                                                                                                                                                    |","x-tag-expanded":false},{"name":"Alarm Actions","description":"Alarm Actions are a resource that stores the notification details to be sent when an alarm is triggered.\n\nContains information about the action that should be triggered when an event occurs. Includes configuration for a message\nto be sent when a system health check fails.","x-tag-expanded":false},{"name":"Alarm Events","description":"Alarm Events are a subresource of alarms. Alarm Events are triggered for each alarm type. The Alarm Event holds onto\ninformation about what status was entered and when it was triggered.","x-tag-expanded":false},{"name":"Alarms","description":"Alarms are a resource which receive and store information on the health of InformaCast.\n\n| id                                   | Type                              | Description                                                                                                                           |\n|--------------------------------------|-----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|\n| dcaca6f6-9d71-11eb-b775-0242ac110003 | fusion_server_red                 | Alerts you when on-premises server(s) have entered/exited a severely degraded state of service.                                       |\n| cdcf1a88-9d71-11eb-b775-0242ac110003 | fusion_server_yellow              | Alerts you when on-premises server(s) have entered/exited a mildly degraded state of service.                                         |\n| e2125942-9d71-11eb-b775-0242ac110003 | license_violation                 | Alerts you when your instance of InformaCast is in violation of your organization's license.                                          |\n| 91b26697-934f-11ec-b6a2-99eae723bd46 | phone_cache_update_failed         | Alerts you when InformaCast fails to build a list of registered Cisco IP phones for Unified CM.                                       |\n| a25f212f-9d71-11eb-b775-0242ac110003 | sis_loader_failed                 | Alerts you when InformaCast encounters errors during an import of data from your Student Information System (SIS).                    |\n| f28b0080-9d71-11eb-b775-0242ac110003 | speakers_unregistered             | Alerts you when on-premises server(s) have detected that their number of registered speakers is below your organization's set amount. |\n| 4f2a8452-71bc-11ed-aa23-9bc083285fdb | fusion_delta_sync_error_event     | Alerts you when on-premises server(s) have failed to synchronize information they pulled from the InformaCast cloud.                  |\n| 5bcebefb-4d8c-11ee-85bb-c5b3d0db8947 | token_expiration                  | Alerts you when Tokens in InformaCast are close to their expiration date.                                                             |\n| e91f7c07-c9cc-11ee-9e02-51949edf0286 | scenario_device_resolution_failed | Alerts you when an API Device attempted to trigger a scenario with an unknown External ID.                                            |\n\n\n\n\n### Alarm Thresholds\nAlarm Thresholds contain information about the number of devices that can unregister before we activate the alarm. Only\nnecessary on alarms which need to monitor device registration, eg. speakers.\n\nAlarm Thresholds do not have their own endpoint, and are instead nested inside of an array in alarm resources.\n\n| Attribute      | Type   | Description                                                                                                                                           |\n|----------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------|\n| __id__         | String | The `id` of the threshold.                                                                                                                            |\n| __alarmId__    | String | The `id` of the associated alarm.                                                                                                                     |\n| __endpointId__ | String | The `id` of the fusion server this threshold should be set to. Allows customization of thresholds if different servers have different speaker counts. |\n| __threshold__  | String | The number of devices that can unregister before we send an alarm notification.                                                                       |","x-tag-expanded":false},{"name":"API Devices","description":"API devices (limit: 100000) are a way to represent devices which can initiate scenarios but don't fall into a more specific category, or are created before a more specific category exists.\n\nThese devices exist on a site and building with an optional floor and zone, and this location can be used as the scenario location if the device initiates the scenario.","x-tag-expanded":false},{"name":"Application Screenshots","description":"Manage screenshots to display on an [application's](#tag--Applications) marketplace page to help describe it.","x-tag-expanded":false},{"name":"Application Secrets","description":"Application Secrets are credentials assigned to third party OAuth 2.0 [Applications](#tag--Applications) they are required to use for authentication with InformaCast. Each application can have up to 2 secrets. Each secret is valid for 2 years after which it will have to be rotated. Having 2 secrets per application with different expiration dates makes it possible to rotate them in a way that keeps the application functional.","x-tag-expanded":false},{"name":"Applications","description":"Applications (limit: 1000) are third-party programs that can be granted access to InformaCast’s resources via OAuth 2.0 authorization. There are two different OAuth2\napplication types.\n- Client applications act on an individual user's behalf. These normally require a user's input in order to perform an action in InformaCast. For example, a client application can display a past notification after the user selects it in the list of received notifications.\n\n- Server applications act on their own behalf. These are intended for integration with other services and do not require any user input. For example, a server application can trigger an InformaCast scenario in responce to an event detected by a surveillance system.\n\nApplications must be declared before they can be used. An application declaration can later be referenced in the requests to [Installed Applications](#tag--Installed-Applications) in order to enable or disable its use. You can also install [Public Applications](#tag--Public-Applications) created by other developers.","x-tag-expanded":false},{"name":"Areas of Interest","description":"Geographic Areas of Interest (limit: 20), denote geographic regions that can distribute [Notifications](#tag--Notifications) to\n[Users](#tag--Users) currently found within the region.\n\n![alt text][sampleAOI]\n\n_A circular region around the Cincinnati Airport. As seen in the\nInformaCast Mobile administrative console, this AOI currently has one\nuser within its bounds._\n\n[sampleAOI]: /api/docs/images/aoi_example_cvg.png \"An example Area of Interest around the Cincinnati Airport\"","x-tag-expanded":false},{"name":"Areas of Interest Boundary Trigger Activities","description":"You can monitor [Boundary Trigger](#tag--Areas-of-Interest-Boundary-Triggers) events with Activities. Each\nactivity entry includes the type of activity (enter or exit) and whether or not the triggered action was successful.\nNote that the activities represent a read-only log of triggered events and cannot themselves be altered or deleted.","x-tag-expanded":false},{"name":"Areas of Interest Boundary Triggers","description":"Boundary Triggers help create site-specific actions based on the presence or movement of [Users](#tag--Users) within\ndefined  [Areas of Interest](#tag--Areas-of-Interest) (AOIs). Any action taken will also result in the creation of a\n[Boundary Trigger Activity](#tag--Areas-of-Interest-Boundary-Trigger-Activities) entry.","x-tag-expanded":false},{"name":"Badges","description":"Badges (limit: 100000)","x-tag-expanded":false},{"name":"Beacons","description":"Beacons (limit: 100000)","x-tag-expanded":false},{"name":"Bell Schedules","description":"Bell Schedules (limit: 3500) represent a weekly, bi-weekly, or tri-weekly cycle of daily event notifications. One can configure the date range within which a bell schedule is valid, the time zone for [Ring Lists](#tag--Ring-Lists) contained in this bell schedule, the number of weeks in a cycle, any ring lists with events set to fire on days within that cycle, and any exceptions on specific dates that may override the default ring list for that day in the cycle.\n\n## Bell Schedule Entries\n\nBell schedule entries are the configured ring list for a particular day within a rolling schedule. A bell schedule will respect the rolling schedule within the bounds of the bell schedule’s `startDate` and `endDate`.\n\nFor example: a bell schedule with `numWeeks` set to 1, and a `startDate` on a Wednesday will use the ring list entries in the following order: 2,3,4,5,6,0,1,2,3,4,5,6... These values correspond to the ring list entries’ `entryNum`.\n\nA bell schedule entry does not have its own endpoint, and is strictly a nested resource within a bell schedule.\n\n| Attribute    | Type    | Description                                                                                                                                                                                                                                                                                                                                                    |\n|--------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | ringListId   | String  | The `id` of the [Ring List](#tag--Ring-Lists) applied on `entryNum` day. If no rings are needed, this can be `null`.                                                                                                                                                                                                                                                |\n| ringListName | String  | The name of the ring list applied on `entryNum` day. This is present in the response as a convenience, do not send it in a `PUT` or `POST`, it would be ignored.                                                                                                                                                                                               |\n| __entryNum__ | Integer | The day in a rolling schedule in which a ring list is applied. entryNum must be an integer between 0-20 which corresponds to a day in a rolling schedule. A rolling schedule can be one week (0-6), two weeks (0-13), or three weeks (0-20). Rolling schedules start on Monday, so 0 is the first Monday in the rolling schedule, 1 is the first Tuesday, etc. |\n\n## Bell Schedule Exceptions\n\nBell schedule exceptions are overrides to one or more bell schedule entries attached to a bell schedule. For the dates bounded by the bell schedule exception’s `startDate` and `endDate`, the bell schedule will use the ring list defined in the bell schedule exception instead of the bell schedule entry.\n\nA bell schedule exception does not have its own endpoint, and is strictly a nested resource within a bell schedule.\n\n| Attribute     | Type   | Description                                                                                                                                                                                |\n|---------------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | __id__        | String | The `id` of the Bell Schedule Exception.                                                                                                                                                   |\n| description   | String | The description of the Bell Schedule Exception                                                                                                                                             | An optional description for the bell schedule exception.\n | ringListId    | String | The `id` of the [Ring List](#tag--Ring-Lists) that overrides the bell schedule entries ring list between the bell schedule exception’s `startDate` and `endDate`. If no rings are needed, this can be `null`. |\n| __startDate__ | Date   | The start date of the bell schedule exception in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) YYYY-MM-DD format.                                                                        |\n| __endDate__   | Date   | The end date of the bell schedule exception in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) YYYY-MM-DD format.                                                                          |\n| ringListName  | String | The name of the ring list overriding the ring list of the bell schedule entry. This is present in the response as a convenience, do not send it in a `PUT` or `POST`, it would be ignored. |","x-tag-expanded":false},{"name":"Brandings","description":"Provides access to Brandings resources for Fusion customers. Brandings provide a way to customize the UI. One Branding can\nexist per Provider (account) and are not affected by facilities. Brandings are created when Providers (accounts) are set up.","x-tag-expanded":false},{"name":"Bulk Upload","description":"The bulk upload endpoint is a moderately non-standard endpoint in the API. While its GET functionality is similar to that of other endpoints, its POST provides a URL to which .zip files can be delivered to an S3 bucket to proceed through the remainder of the bulk upload process.","x-tag-expanded":false},{"name":"Bulk Upload Commit","description":"Bulk Upload Commit is called on an existing [Bulk Upload](#tag--Bulk-Upload) instance. This can be used to create the resources associated with a test without needing to post resources to S3 again.","x-tag-expanded":false},{"name":"Bulk Upload Logs","description":"Bulk Upload Logs are created to store information about each resource that is either created or ran as a test through a [Bulk Upload](#tag--Bulk-Upload).","x-tag-expanded":false},{"name":"CallAware","description":"List active calls across all Fusion servers","x-tag-expanded":false},{"name":"Clear Devices","description":"Clear Devices Schedules are meant to provide a means to schedule clearing of on-premises devices, such as IP Phones, to ensure that notifications sent to them are seen by recipients of notifications.","x-tag-expanded":false},{"name":"Collaboration Groups","description":"Collaboration Groups serve as a means of initiating group conversations, such as via a conference call, a Cisco Webex Teams space, Outbound CAP, and Outbound RSS. Other integrations will likely be added in the future.\n\n### CONFERENCE CALL\nA conference call collaboration group must define a Join PIN. This Join PIN will be sent to all of the collaboration group’s members’ text-capable devices, along with the conference call phone number to dial. The members’ `phone-call` devices will instead be called, and the person answering the call will be prompted to join the conference call without the need to enter a Join PIN.\n\nUnless otherwise noted, conference calls can be joined via the campaign number defined in [The Numbers Report](#tag--Reports) (all outbound phone calls will originate from this number as well). A conference call based collaboration group can optionally be configured with a _Create PIN_ or to _Bypass IVR_.\n\nA Create PIN allows users to start the conference call by calling into the same number described above and entering a `*` followed by the Create PIN. When a Create PIN is specified and used in this way, calls are placed to the group’s `phone-call` devices, and a basic notification is sent to non `phone-call` devices, giving them instructions on how to join the conference call. If no Create PIN is configured, users will not be able to start the collaboration group by calling, and will always need to do so by sending a [Notifications](#tag--Notifications).\n\nWhen Bypass IVR is selected in the collaboration group configuration, all `phone-call` devices will be dropped immediately into the conference call as soon as the call is answered. In other words, the users will not be prompted to join the call through an IVR (the default behavior). This holds true unless the user is asked to join multiple conference calls, in which case they would receive the IVR prompt regardless.\n\n### CISCO WEBEX TEAMS\nA Cisco Webex Teams collaboration group two different modes: `specificSpace` and `newSpace`.\n\nWhen a notification is sent to a `newSpace`, the Webex Teams integration will create a new Webex Teams space using the mandatory name field in `newSpace.name`. It will also suffix the name with a generated timestamp. Then, it will invite all of the users and distribution lists to join the Webex Teams space.\n\nWhen a notification is sent to a `specificSpace`, it will invite the configured recipients to `specificSpace.spaceId`. Note that recipients are optional in this mode. Also, the InformaCast bot must be a member of this space.\n\nTo better construct the properties for these types of collaboration groups, please see the [Webex Teams Integration API](#tag--Webex-Teams-Integration-API).\n\n### OUTBOUND CAP\nOutbound CAP collaboration groups are used to reach endpoints that support receiving CAP notifications. Like outbound RSS collaboration groups, this is meant mostly for use with digital signage.\n\nThis particular variety of collaboration group has locations and [Connection Configurations](#tag--Extensions) which allows for communication with endpoints that require authentication. Further, in order to further tailor notifications received by these endpoints, [Notification Profiles](#tag--Notification-Profiles) can be used to send more information about any given notification to its CAP recipients.\n\nNote that a connection configuration must be created in order to create an outbound CAP collaboration group. Likewise, when creating a collaboration group of this variety, ensure that you specify the `outbound-cap` collaboration group type\n\n### OUTBOUND RSS\nOutbound RSS collaborations groups are meant to consume notifications and convert those into an RSS feed for consumption. This is primarily used for digital signage, which can take in RSS data and produce a feed of notifications that can be read by users.\n\nWhen a new outbound RSS feed is created, a URL is generated. Based on selections during the creation process, this feed will either contain just the most recent message sent to the outbound RSS collaboration group or it will contain all the messages that have been sent to the feed. You may also disable the feed, which will prevent display, but will not stop notifications from being delivered to said feed.\n\nIn order to create an outbound RSS collaboration group, you must specify the `outbound-rss` collaboration group type, provide its view policy, and whether or not the feed is disabled.\n\n### MICROSOFT TEAMS\nUsing Microsoft Teams collaboration groups, send mass notifications to Teams channels. Collaboration groups do that by providing a collaboration group type, msteams-channel. Sending a notification to an msteams-channel collaboration group launches a notification to the corresponding Teams channel.\n\nType msteams-channel collaboration groups require InformaCast Fusion, the InformaCast bot must be added to a Microsoft Teams tenant and connected to a provider, and the Microsoft Teams Channel feature needs to be activated. Creating an msteams-channel collaboration group only works for teams that have a connected InformaCast bot.\n\nCreating an msteams-channel collaboration group requires a unique set of request parameters, as seen in the example.","x-tag-expanded":false},{"name":"Confirmation Request Dynamic Replies","description":"Dynamic replies provide a way to cause a text reply to be immediately sent when a user responds to a [Notification](#tag--Notifications) with attached [Confirmation Requests](#tag--Confirmation-Requests).","x-tag-expanded":false},{"name":"Confirmation Request Escalation Rules","description":"Escalation rules provide a way to cause followup messages to be automatically sent some time after a\n[Notification](#tag--Notifications), depending on the kinds of responses that have been made to an attached\n[Confirmation Request](#tag--Confirmation-Requests).","x-tag-expanded":false},{"name":"Confirmation Requests","description":"Confirmation requests provide a mechanism by which recipients of a [Notification](#tag--Notifications) can be asked a\nquestion, with a list of options from which they may choose a response.\n\nConfirmation requests may also have [Escalation Rules](#tag--Confirmation-Request-Escalation-Rules) attached to\nthem, which can lead to further notifications being sent unless suitable responses are received within a specified time\nframe. Additionally, any [Dynamic Replies](#tag--Confirmation-Request-Dynamic-Replies) attached may reply\nimmediately to a confirmation response to provide confirmation feedback.","x-tag-expanded":false},{"name":"CUCM Cluster Fusion Servers","description":"Manages Fusion Server configurations for a previously configured Cisco Unified Communications Manager Cluster.","x-tag-expanded":false},{"name":"CUCM Clusters","description":"Specifies Cisco Unified Communications Manager Cluster Configurations for use with InformaCast Fusion","x-tag-expanded":false},{"name":"Device Groups","description":"![fusion](/api/docs/images/fusion_badge.png)\n\nDevice Groups are named groups of [Devices](#tag--Devices), and are the recipients of [Notifications](#tag--Notifications).\n\nDevice Groups are commonly composed of a set of filters that will match certain [Devices](#tag--Devices).\n\n> NOTE: Device Groups may only be created if Fusion mode is enabled.\n\nDevice Group Filters Format\nThe JSON document used to represent a Device Group Filter has the following content\nAttribute | Type | Description\n--------- | ---- | -----------\nattribute | String | The attribute to filter.\ncomplement | Boolean | Controls whether the filter's meaning is reversed. If `true`, it will match devices that do *not* meet the specified criteria. (You might use this when it is simpler to specify what to exclude; you can think of it as adding \"does not\" in front of the rule.)\ncomparison | String | The comparison used for the filter (`BEGINS_WITH`, `CONTAINS`, `ENDS_WITH`, `EQUALS`, or `MATCHES_REGEX`; legal values depend on the attribute).\nvalue | String | A text value for the comparison.\ncaseSensitive | Boolean | Controls whether comparisons should care about capitalization.","x-tag-expanded":false},{"name":"Devices","description":"![fusion](/api/docs/images/fusion_badge.png)\n\nProvides a unified view of all endpoint devices connected to any Fusion server. This can be used to test filters, get individual device identifiers, etc.","x-tag-expanded":false},{"name":"Dial To Intercom","description":"![fusion](/api/docs/images/fusion_badge.png)\n\n Dial-to-intercom calls allow you to dial another person’s extension and be immediately connected with full-duplex intercom functionality and no action required for the receiving phone.\n\n > ⚠️ This is a FUSION ONLY resource, meaning it requires at least one On-Premises Fusion Server. The Fusion Server must also be configured to communicate with Cisco Unified Communications Manager.","x-tag-expanded":false},{"name":"DialCast Dialing Configuration Rule Actions","description":"","x-tag-expanded":false},{"name":"DialCast Dialing Configurations","description":"DialCast Dialing Configurations (limit: 1000 per server)","x-tag-expanded":false},{"name":"DialCast Phone Exceptions","description":"","x-tag-expanded":false},{"name":"Distribution List SCIM Groups","description":"Distribution List SCIM Groups connect [Distribution Lists](#tag--Distribution-Lists) to SCIM Users.\nWhen a Distribution List is included in the recipients of a [Notifications](#tag--Notifications), all SCIM Users\nwho are a part of the included SCIM Groups will receive the notification, on all of their registered\n[User Devices](#tag--User-Devices). For more information on SCIM Users and Groups, see\n[our User Guide](https://documentation.singlewire.com/fusion/en/about-cloud-user-loaders.html).","x-tag-expanded":false},{"name":"Distribution List User Subscriptions","description":"Distribution List Subscriptions connect [Distribution Lists](#tag--Distribution-Lists) to [Users](#tag--Users). When a\nDistribution List is included in the recipients of a [Notification](#tag--Notifications), all Users who are\nsubscribed to that Distribution List will receive the notification, on all of their registered\n[Devices](#tag--User-Devices).\n\n> ⚠️ It is also possible to view the relationship in the opposite direction, through the\n> [User Subscriptions](#tag--User-Subscriptions) resource.","x-tag-expanded":false},{"name":"Distribution Lists","description":"Distribution Lists (limit: 3500) are named groups of [Users](#tag--Users), and are the\nrecipients of [Notifications](#tag--Notifications). Notifications can be\nsent to users directly, but are more commonly sent to users within\ndistribution lists.\n\nDistribution lists can also have _Campaigns_ associated with them,\nwhich allow people who are not registered users of InformaCast Mobile\nto subscribe to notifications sent to the distribution list. This is\ndone using a self-service interface, with which these outside parties\ncan register their SMS number. Each campaign once created will be\nassigned a URL, which provides the interface needed for people to\nregister for the campaign. Campaigns can be assigned _enrollment end\ndates_, after which point the self-service interface will no longer\naccept new registrations, and will instead display a configurable\n_inactive message_ explaining why the registration attempt has been\nrejected.","x-tag-expanded":false},{"name":"End Tracking Stream","description":"","x-tag-expanded":false},{"name":"Extension Attachments","description":"Binary attachments for a given extension","x-tag-expanded":false},{"name":"Extension Devices","description":"Endpoint for updating or querying devices with filters","x-tag-expanded":false},{"name":"Extension Endpoint Activities","description":"Provides a log of interactions between extension endpoints (currently these are only Fusion servers) and InformaCast\nMobile. For the most part this is read-only, but you can also ask an endpoint to create a backup or to restart itself\nby POSTing a special activity to it.","x-tag-expanded":false},{"name":"Extension Endpoint Provider Public Key","description":"Endpoint for providing a public key or receiving a private key for a Fusion endpoint","x-tag-expanded":false},{"name":"Extension Endpoint Proxy","description":"Extensions endpoints may choose to expose their own, custom APIs. Currently, only the Fusion extension exposes an API.\n\nFor a list of (most) fusion extension endpoint apis, please see [here](https://www.singlewire.com/help/InformaCastAPI/).\n\nAs the Fusion Server itself is not accessible externally (except through the Fusion Syncer mechanism), we must use the Fusion proxy extension to pass those requests through to the Fusion Server API.\n\nAn API call to a Fusion Server’s API is similar to calling endpoints in the Mobile API, in that it also requires a bearer token authentication header (as do other Mobile API calls), but in addition, we must specify the extensionId, endpointId, and API path to the Fusion Server API target.\n\nHere’s an example request URL: `https://api.icmobile.singlewire.com/api/v1/extensions/{endpoint-proxy extensionId}/endpoints/{Fusion Server endpointId}/proxy/proxy/{Fusion Server API target path}`\n\n## Endpoint-Proxy Extension ID\n\nTo find the endpoint-proxy extension id, call the following endpoint: `GET /extensions?type=endpoint-proxy&name=InformaCast`\n\nNote the id field, which will always be the endpoint-proxy extensionId `551de6ae-3d36-11e6-834a-3d1fcb19aadd` in our fusion-specific proxy requests.\n\n## Finding the Fusion Server EndpointId\n\nThe next step is to determine the `endpointId` for the Fusion Server we want to access. You can see a list of which\nendpoints are available using the following call, where NameOfFusionServer is the name you assigned to your Fusion\nServer when it was added on the Admin -> Servers/List Servers page:\n\n`GET extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/?name={NameOfFusionServer}`\n\nThe response will then include the `endpointId` of the Fusion Server.\n\nNote, the `id` listed is unique to every Fusion Server, so it is important to check the `name` field to ensure this is\nthe Fusion Server you intend to interact with.\n\n## Construct the Full Request\n\nNow, by replacing `{Fusion Server endpointId}`, with the appropriate value, we can make API proxy requests to the\nFusion Server, such as the following:\n\n`GET https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/41a7f094-57a7-11e8-b511-1b4b03640c60/proxy/proxy/V1/Admin/overview`\n\nThe rest of the URL after proxy/proxy (that is not a typo) is the same as those endpoints listed in the [InformaCast\nAdvanced API Documentation](https://www.singlewire.com/help/InformaCastAPI/), though not all endpoints are\navailable via Mobile proxy calls.\n\n\n## Available endpoints\n\nAll fusion server configuration resources can be found in the [InformaCast Advanced API Documentation](https://www.singlewire.com/help/InformaCastAPI/).\nIf a resources listed in the documentation is not available to Fusion via Mobile proxy calls, a \"resource not available\" response will be returned.\n\nEach resource will follow the general URL structure listed in the sections above, using the appropriate extensions and endpoints parameters.\n\nAn example configuration resource request here is the Dialcast Dialing Configuration. To create a\nDialcast dialing configuration, use the `POST /V1/Admin/DialCast/dialingConfigurations` resource, making an\nAPI proxy request to the Fusion Server:\n\n`https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/41a7f094-57a7-11e8-b511-1b4b03640c60/proxy/proxy/V1/Admin/DialCast/dialingConfigurations`\n","x-tag-expanded":false},{"name":"Extension Endpoints","description":"Extension Endpoints are a way of indicating that an extension can have\nmultiple targets. Currently, the only extension supporting endpoints\nis the Fusion extension. There are sub-routes that allow communication\nwith specific endpoints, viewing their current resource mappings,\ncurrent state, uploads/backups, and devices. Fusion endpoints can't be\ncreated manually, but instead, they must be created following the\non-screen instructions on the Fusion server itself.","x-tag-expanded":false},{"name":"Extension Provider Public Key","description":"Endpoint for deleting the provider public key and associcated encrypted values","x-tag-expanded":false},{"name":"Extension Proxies","description":"Proxy interface for an extension","x-tag-expanded":false},{"name":"Extensions","description":"InformaCast Extensions (license filter limit per type: 200) allow new features to be added to InformaCast Mobile\nwithout changing the core API implementation. Eventually this ability\nmay be extended to third-party developers, but for now only Singlewire\ncan create Extensions. As such, the documentation of this resource is\ncurrently limited, but should hopefully be enough to let you\nunderstand what you see in the API.\n\nThere are currently four different kinds of extensions, distinguished by their `type` attribute.\n\n* The `device` extension type allows new kinds of endpoints to receive\n  InformaCast Mobile notifications, for example, the Email device\n  extension adds email addresses as configurable devices of type\n  `singlewire:email` for [Users](#tag--Users) within Providers which\n  have it configured.\n\n* The `device-filter` extension type can be used to adjust which\n  devices actually receive a notification when it is sent. This is\n  used by the “Do Not Disturb” feature to filter out devices for\n  users who are currently within a do-not-disturb window.\n\n* The `collaboration` extension type can be used to add new\n  collaboration group types to send a notification to.\n\n* The `endpoint-proxy` extension type can be used to proxy\n  authenticated requests through the public api to the underlying\n  extension. Examples may be found in the documentation for individual\n  Extensions resource operations.\n\n## Extension Config Options\n\nMany extensions allow for some customization through their\nconfiguration settings. (This is the `config` block in the examples\nand responses for the individual Extensions resource operations.)\nThese configurable extensions and their associated options are listed\nbelow:\n\n### Fusion Extension\n\nDevice type: `endpoint-proxy`\n\nOption | Type | Default| Description\n------- | ---- | ---- | -----------\nidnFilter | JSON | (none) | Filter for devices of idn type in device filter format. If unspecified, the license filter will include all devices. The filters format is detailed [here](#device-group-filters-format).\nphoneFilter | JSON | (none) | Filter for devices of phone type in device filter format. If unspecified, the license filter will include all devices. The filters format is detailed [here](#device-group-filters-format).\nphoneRebuild&shy;Schedule | String | (hourly) | Cron string whose frequency denotes how often the phone cache is rebuilt. By default, a hash of the provider-id is used, setting this job to an deterministic but unspecified minute every hour.\nphoneRebuild&shy;Tz | String | `UTC` | Time zone for `phoneRebuildSchedule`\nphoneRefresh&shy;Interval | Integer | `0` | Interval (in minutes) after which partial phone information will be updated. If 0, these updates are not done at all.\nphoneReset&shy;Schedule | String | `0 0 7 * * ? *` | If `phoneResetStrategy` is `periodically`, this cron schedule indicates when phones that need to be reset will be reset.\nphoneResetTz | String | `UTC` | Time zone for `phoneResetSchedule`\nphoneReset&shy;Strategy | String | `never` | Option: `never`, `immediately`, or `periodically`. Specifies when affected phones should be reset when configuration has changed or activation groups are changed. `never`: phones are never reset. `immediately`: phones are reset immediately. `periodically`: phones will be reset on a cron schedule, which you may also specify on this object. Phones must be reset once initially, and also when their authentication url changes as a result of an activation group pointing to a new endpoint.\nspeakerFilter | JSON | (none) | Filter for devices of speaker type in device filter format. If unspecified, the license filter will include all devices. The filters format is detailed [here](#device-group-filters-format).\n\n### Email Extension\n\nDevice type: `singlewire:email`\n\nThe configuration options for the email extension are broken down into three groups for readability.\nThey are all part of the actual configuration and may be combined when setting or updating.\n\nBasic Option | Type | Default | Description\n--------- | ---- |--------- | -----------\nintroText | String | (none) | A short message to prepend to the content of all notifications sent via email.\nheadingText | String | Notification From | Title text appearing at the top of the email.\nsubheadingText | String | InformaCast Mobile | Subtitle text appearing just below `headingText`.\nprimaryColor | String | `#3498db` | Background color of the heading.\nprimaryTextColor | String | `#ffffff` | Color of any text appearing in the heading section.\nsecondaryTextColor | String | `#205478` | Color of any text appearing in the body of the notification.\n\nAdvanced Option | Type | Default | Description\n--------- | ---- |--------- | -----------\nfromName | String | InformaCast Mobile | The display name to use for the sender of the email. Should be verified with Singlewire before use.\nfromAddress | String | do-not-reply@singlewire-informacast.com | The email address to use for the sender of the email. Should be verified with Singlewire before use.\nreplyToName | String | InformaCast Mobile | The display name to use when replying to the email. Should be verified with Singlewire before use.\nreplyToAddress | String | do-not-reply@singlewire-informacast.com | The email address to use when replying to the email. Should be verified with Singlewire before use.\n\nSMTP Option | Type | Default | Description\n--------- | ---- |--------- | -----------\nsmtpEnabled | String | `false` | Whether or not custom SMTP settings will be used to deliver email messages through your own servers.\nhost | String | (none) | The fully qualified domain name of the SMTP host.\nport | Int | (none) | The port to use for connecting. Must be one of the standard outbound email ports: `25`, `465`, or `587`.\nuser | String | (none) | The username for use during authentication.\npassword | String | (none) | The password for use during authentication.*\ndisableUnsubscribe | Boolean | `false` | Whether or not to remove the unsubscribe link in emails. Use with care, removal can make your messages appear more like spam.\nssl | Boolean | `false` | Whether or not the SMTP server expects secure connections using SSL.\nstarttls | Boolean | `false` | Whether or not the SMTP server will attempt to establish a secure connection using StartTLS.\nsasl | Boolean | `false` | Whether or not to use SASL authentication mechanisms.\nsaslMechanism | String | `DIGEST-MD5,PLAIN` | Comma-separated list of authentication mechanisms supported by your server. Currently `CRAM-MD5` is also accepted.\nsaslRealm | String | (none) | Realm for use with `DIGEST-MD5`.\n\n* Note that to submit or reset a password, you should use the special attribute name `encrypt>password` to indicate it should be encryped before storing. Encrypted values will not be returned, but will be preserved unchanged until new values to be encrypted are submitted.\n\n\n### SMS Extension\n\nDevice type: `SMS`\n\nOption | Type | Default | Description\n--------- | ---- |--------- | -----------\nincludeBody | Boolean | `false` | Whether or not SMS messages should include the body in addition to the subject of the notification.\nintroduction | String | (none) | Introductory text to prepend to all notification text delivered via SMS.\n\n\n### Telephony Extension\n\nDevice type: `phone-call`\n\nOption | Type | Default | Description\n--------- | ---- |--------- | -----------\nvoice | String | `man, en` | The particular voice and language to use when reading the notification during a phone call. *\nintroduction | String | (none) | Introductory verbiage to be read before all notification text delivered via phone call.\nconferenceCall&shy;Introduction | String | (none) | Introductory verbiage to be read before the user is added to a conference call.\n\n* The main options for `voice` include `man` or `woman` for the speaker's voice, and `en`, `en-gb`, `es`, `fr`, or `de` for the language.\nFor limited support of other locales, you can use the `alice` voice and any of the languages shown [here](https://www.twilio.com/docs/api/twiml/say#attributes-alice).\n\n### Outbound CAP Extension\n\nDevice type: `outbound-cap`\n\n```json\n{\n  \"configName1\": {\n    \"url\": \"http://cap-system/etc\",\n    \"profile\": \"standard\"\n  },\n  \"configName2\": {\n    \"url\": \"https://cap-system/with/basic-auth\",\n    \"profile\": \"standard\",\n    \"username\": \"admin\",\n    \"password\": \"1Z3456u8DtYz3\"\n  }\n}\n```\n\nThe configuration for the Outbound CAP extension consists of a map of `connection configuration` names to connection info.  A `connection configuration` contains everything necessary for InformaCast to communicate with the external CAP system.\n\nThe JSON configuration object contains a `name` key for each connection configuration, and the value is a JSON object with the following options:\n\nOption | Type | Default | Description\n--------- | ---- |--------- | -----------\nurl | String | (none) | The URL of the external system to POST the CAP message to.\nprofile | String | `standard` | Which CAP profile to support.  Currently the only supported value is `standard`.\nusername | String | (none) | If the external system supports HTTP Basic Auth, the username used to authenticate when connecting to the system. (Optional)\npassword | String | (none) | If the external system supports HTTP Basic Auth, the password used to authenticate when connecting to the system. (Optional)","x-tag-expanded":false},{"name":"Facilities","description":"Facilities allow for a site-based organization of supported resources. (Limit 500.) Facilities are Edited and Deleted via the associated [Site](#tag--Sites).\n\nIn the InformaCast Fusion UI, Facilities will generally be referred to as Local Sites.\n\nOnly the following resources in InformaCast Fusion are affected by Facilities:\n\n* [API Devices](#tag--API-Devices)\n* [Bell Schedules](#tag--Bell-Schedules)\n* [Collaboration Groups](#tag--Collaboration-Groups)\n* [Confirmation Requests](#tag--Confirmation-Requests)\n* [Device Groups](#tag--Device-Groups)\n* [DialCast Dialing Configurations](#tag--DialCast-Dialing-Configurations)\n* [DialCast Phone Exceptions](#tag--DialCast-Phone-Exceptions)\n* [Distribution Lists](#tag--Distribution-Lists)\n* [Incident Plans](#tag--Incident-Plans)\n* [Incidents](#tag--Incidents)\n* [IP Speakers](#tag--IP-Speakers)\n* [IP Speaker Jobs](#tag--IP-Speaker-Jobs)\n* [Load Definitions](#tag--Load-Definitions)\n* [Message Templates](#tag--Message-Templates)\n* [Notifications](#tag--Notifications)\n* [Notification Profiles](#tag--Notification-Profiles)\n* [Ring Lists](#tag--Ring-Lists)\n* [Scenarios](#tag--Scenarios)\n* [Security Groups](#tag--Security-Groups)\n* [Sites](#tag--Sites)\n* [Site-Mapped Devices](#tag--Site-Mapped-Devices)\n* [Site Roles](#tag--Site-Roles)\n* [Users](#tag--Users)\n\nOver time, more resources will be added to this list.","x-tag-expanded":false},{"name":"Facility Users","description":"Access and manage which [Users](#tag--Users) belong to which [Facilities](#tag--Facilities).\nThe inverse of this endpoint is [User Facilities](#tag--User-Facilities).","x-tag-expanded":false},{"name":"Failover Pairs","description":"Allows a fusion server to fail over to another server when it goes down.","x-tag-expanded":false},{"name":"Features","description":"Provides information about the current available feature set for the logged in user.","x-tag-expanded":false},{"name":"Gateways","description":"Gateways (limit: 1000)","x-tag-expanded":false},{"name":"Identity Providers","description":"Identity Providers are used for [User](#tag--Users) authentication when logging in to an InformaCast Mobile Provider. Each Provider can have one or more Identity Providers.","x-tag-expanded":false},{"name":"Inbound CAP","description":"Inbound CAP rules (the CAP message trigger for Inbound Events) allow you to specify a\n[Message Templates](#tag--Message-Templates) used to create a Notification when a CAP message\nmatches an expression.","x-tag-expanded":false},{"name":"Inbound Email","description":"Inbound Email configurations (the email trigger for Inbound Events) allow you\nto specify the basic elements of a Notification to be created when an email\nmatches specific criteria including a whitelist and [Outbound Rules](#tag--Outbound-Rules).","x-tag-expanded":false},{"name":"Inbound RSS","description":"Define inbound RSS feeds to monitor and send notifications to IcMobile.\n\nThis service can monitor either [RSS](https://validator.w3.org/feed/docs/rss2.html) or\n[ATOM](https://validator.w3.org/feed/docs/atom.html) syndicated feeds. When a new entry\nis found in a feed a notification will be sent out to recipients in the message template\nor overridden with the entries in the `distribution_list_ids`.\n\nIf a new RSS &lt;item&gt; is acquired the &lt;title&gt; section of an &lt;item&gt; will become the\nsubject of the notification and the &lt;description&gt; will become the body.\n\nIf a new ATOM &lt;entry&gt; is acquired the &lt;title&gt; becomes the subject of the notification\nand the &lt;summary&gt; will become the body.","x-tag-expanded":false},{"name":"Incident Activities","description":"Incident Activities are the mechanism for tracking and reviewing certain interactions that [Users](#tag--Users) have had with a particular [Incident](#tag--Incidents).\nAt this time, the activity types `end-incident`, `rapid-sos-initiated`, `rapid-sos-no-response`, `rapid-sos-confirmed`, `rapid-sos-declined`, `rapid-sos-contacting-monitoring`, `rapid-sos-cancelled`, and `rapid-sos-completed` are supported. `end-incident` reflects the fact that an incident has ended and can be posted to the incident when a user wants to end it. The other activities are informational in nature, and are added by the system when certain events occur, such as progress in contacting emergency responders for emergency scenarios.","x-tag-expanded":false},{"name":"Incident Plan Message Templates","description":"Incident Plan Message Templates are the collection of Message Templates that belong to a specific Incident Plan. When an [Incident](#tag--Incidents) is created from this Incident Plan, the associated Message Templates become immediately\navailable to your Incident Management team for sending.","x-tag-expanded":false},{"name":"Incident Plan Resources","description":"Incident Plan Resources are the collection of hyperlinks and files that belong to a specific Incident Plan. When an [Incident](#tag--Incidents) is created from this Incident Plan, the associated resources become immediately\navailable to your Incident Management team.","x-tag-expanded":false},{"name":"Incident Plan Scenarios","description":"Incident Plan Scenarios are the collection of Scenarios that belong to a specific Incident Plan. When an [Incident](#tag--Incidents) is created from this Incident Plan, the associated Scenarios become immediately\navailable to your Incident Management team for sending.","x-tag-expanded":false},{"name":"Incident Plan Visitor Aware Mapping Status","description":"Incident Plan Visitor Aware Mappings status is a resource reflecting whether or not all InformaCast sites have mappings to `Locations` in Visitor Aware. This endpoint is only accessible to users licensed to use Visitor Aware Features.","x-tag-expanded":false},{"name":"Incident Plans","description":"Incident Plans (limit: 3500) are agendas to follow when there are ongoing [Incidents](#tag--Incidents) in your organization. Each Incident Plan has a name, description (optional), a list of [Message Templates](#tag--Message-Templates) and [Scenarios](#tag--Scenarios) available for quick access, a list of hyperlink or file [Incident Plan Resources](#tag--Incident-Plan-Resources) for managing the Incident, and optional configuration for Roll Call.\n\nWhen configuring a Message Template or Scenario, you may also specify an Incident Plan ID so that when you send the notification, an Incident will spawn from the associated Incident Plan.\n\nRoll call allows you and your incident managers to use the InformaCast app to record the statuses and locations of people within your organization during an ongoing incident. The roll call configuration for this incident plan can be found on the `rostering` key. See the [Incident Rostering (Roll Call) Members](#tag--Incident-Rostering-(Roll-Call)-Members) section for more information.\n\n## Incident Plan Roll Call Request Parameters\n\nThe structure of the Incident Plan Roll Call object in the Incident Plan request.\n\n| Attribute                | Type          | Default       | Description                                                                                                                                                                    |\n|--------------------------|---------------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | __locations__            | Array[string] | N/A           | The list of locations available to use during a Roll Call event                                                                                                                |\n| __statuses__             | Array[string] | N/A           | The list of statuses available to use during a Roll Call event                                                                                                                 |\n| rosterManagerSiteRoleIds | Array[UUID]   | N/A           | The `id`s of site roles that determine the Roll Call administrators for a Roll Call event                                                                                      |\n| rosterMemberSiteRoleIds  | Array[UUID]   | N/A           | The `id`s of of site roles that determine which users populate the Roll Call list for a Roll Call event                                                                        |\n| type                     | String        | 'informacast' | A string representing the type of Roll Call service to be used, either `informacast` which indicates Roll Call or `visitor-aware` which indicates Visitor Aware Reunification. |\n\n## Incident Plan Roll Call Response\n\nThe structure of the Incident Plan Roll Call object in Incident Plan response.\n\n| Attribute                | Type                               | Description                                                                                                                                                                    |\n|--------------------------|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | incidentPlanRosteringId  | UUID                               | The `id` of the Incident Plan Roll Call configuration.                                                                                                                         |\n| locations                | Array[string]                      | The list of locations available to use during a Roll Call event.                                                                                                               |\n| statuses                 | Array[string]                      | The list of statuses available to use during a Roll Call event.                                                                                                                |\n| rosterManagerSiteRoleIds | Array[UUID]                        | The `id`s of [Site Roles](#tag--Site-Roles) that determine the Roll Call administrators for a Roll Call event.                                                                    |\n| rosterManagerSiteRoles   | Array[[Site Roles](#tag--Site-Roles)] | The list of site roles that determine the Roll Call administrators for a Roll Call event.                                                                                      |\n| rosterMemberSiteRoleIds  | Array[UUID]                        | The `id`s of of site roles that determine which users populate the Roll Call list for a Roll Call event.                                                                       |\n| rosterMemberSiteRoles    | Array[[Site Roles](#tag--Site-Roles)] | The list of site roles that determine the users that populate the Roll Call list in a Roll Call event.                                                                         |\n| type                     | String                             | A string representing the type of Roll Call service to be used, either `informacast` which indicates Roll Call or `visitor-aware` which indicates Visitor Aware Reunification. |","x-tag-expanded":false},{"name":"Incident Resources","description":"Incident Resources are the collection of hyperlinks and files that belong to a specific [Incident](#tag--Incidents). When an Incident is created from an [Incident Plan](#tag--Incident-Plans), all of the Plan’s resources are copied over to the Incident. You may then continue to add and remove Incident Resources until the Incident is completed.","x-tag-expanded":false},{"name":"Incident Rostering (Roll Call) Members","description":"> ⚠️ The name of the feature is Roll Call, though API resources relating to it are referred to as rostering.\n\nIncident Rostering members are the users who are in the list for a particular Rostering event. The Rostering members will have a status and location assigned, which will be updated by Rostering administrators during the event.","x-tag-expanded":false},{"name":"Incident Rostering (Roll Call) My List","description":"> ⚠️ The name of the feature is Roll Call, though API resources relating to it are referred to as `rostering`.\n\nRostering My List is specific to each individual Rostering administrator. It is the list of all Rostering members whose\nstatus and/or location have been updated by that particular Rostering administrator. The user making the request\ndetermines the list of Rostering members returned.","x-tag-expanded":false},{"name":"Incident Rostering (Roll Call) Report","description":"> ⚠️ The name of the feature is Roll Call, though API resources relating to it are referred to as `rostering`.\n\nThe Incident Rostering report contains the number of users currently assigned to each status in the Rostering event. This is used to help incident administrators with directing the incident response.","x-tag-expanded":false},{"name":"Incident Site","description":"For Roll Call, the administrators and list of participants are determined by the Site assigned to the Incident, combined\nwith the Site Roles configured in the Incident Plan. If an Incident is configured with Roll Call, the Roll Call event\nbegins once a Site is assigned to the Incident.","x-tag-expanded":false},{"name":"Incidents","description":"Incidents are the instantiation of [Incident Plans](#tag--Incident-Plans). When a [Notification](#tag--Notifications) is sent via a [Message Template](#tag--Message-Templates) or [Scenario](#tag--Scenarios) with an attached Incident Plan, an Ongoing Incident begins. All quick-access notifications and [Incident Plan](#tag--Incident-Plans) Resources become available to your Incident Management team.\n\nRoll call allows you and your incident managers to use the InformaCast app to record the statuses and locations of people within your organization during an ongoing incident. The roll call configuration for this incident can be found on the `rostering` key. See the [Incident Rostering (Roll Call) Members](#tag--Incident-Rostering-(Roll-Call)-Members) section for more information.\n\nDuring an Ongoing Incident, [Incident Resources](#tag--Incident-Resources) may be added and removed. Once the incident ends, no additional changes may be made to the Incident or its subresources.\n\n## Emergency Calling Status Response\n\nWhen a status update about the progress of emergency calling has been received it will have the following format:\n\n| Attribute | Type                                                     | Description                                                                                                                                                                            |\n|-----------|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| type      | String                                                   | One of `rapid-sos-initiated`, `rapid-sos-no-response`, `rapid-sos-confirmed`, `rapid-sos-declined` `rapid-sos-contacting-monitoring`, `rapid-sos-cancelled`, or `rapid-sos-completed`. |\n| createdAt | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | The `createdAt` value of the [Incident Activity\\](#tag--Incident-Activities) that reported this status. |\n| details   | Object                                                   | Any additional information that was supplied by the emergency services integration provider.                                                                                           |\n\n## Incident Roll Call Response\n\nThe response data for Roll Call when it is enabled on an Incident has the following format:\n\n| Attribute           | Type          | Description                                                                                                                                                                    |\n|---------------------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | locations           | Array[string] | List of locations that can be used in this Roll Call event                                                                                                                     |\n | statuses            | Array[string] | List of statuses that can be used in this Roll Call event                                                                                                                      |\n | type                | String        | A string representing the type of Roll Call service to be used, either `informacast` which indicates Roll Call or `visitor-aware` which indicates Visitor Aware Reunification. |\n | visitorAwareUrl     | String        | A URL pointing at the Visitor Aware Reunification Event initiated by this incident.                                                                                            |\n | visitorAwareError   | String        | An error message received when trying to initiate a Visitor Aware Reunification Event.                                                                                         |\n | visitorAwareBaseUrl | String        | URL for base Visitor Aware domain.                                                                                                                                             |","x-tag-expanded":false},{"name":"Installed Application Tokens","description":"Application Tokens are the authorization tokens issued to [Installed Applications](#tag--Installed-Applications) whose type is `SERVER`.","x-tag-expanded":false},{"name":"Installed Applications","description":"Installed applications are the third party OAuth 2.0 [Applications](#tag--Applications) enabled for use with InformaCast.","x-tag-expanded":false},{"name":"IP Cameras","description":"IP cameras are imported from a 3rd party system to allow viewing feeds within InformaCast.","x-tag-expanded":false},{"name":"IP Speaker Jobs","description":"IP Speaker bulk action jobs can be used to perform bulk resets, bulk tests, bulk volume adjustments, and bulk deletes.","x-tag-expanded":false},{"name":"IP Speaker Settings","description":"Update the current IP Speaker Settings which set your preferences for whether IP speakers, InformaCast Desktop Notifier instances,\nand Legacy Paging Interface (LPI) paging zones are added to InformaCast manually or\nautomatically, their initial volume, and the interval at which they register with\nInformaCast.","x-tag-expanded":false},{"name":"IP Speaker SIP Parameters","description":"Update the current IP Speaker SIP Parameters which set the location of your telephony provider and your\npreferences for how often they check providers' call availability, their registration\ninterval, and the length of time they should ring before ending a call, etc.","x-tag-expanded":false},{"name":"IP Speakers","description":"IP Speakers (limit: 100000) with which InformaCast can communicate (once multicast, DHCP, and SLP are correctly configured on your network)\nalong with controls for the IP Speakers’ behavior.","x-tag-expanded":false},{"name":"License Acceptances","description":"Some features are licensed separately.\nThis resource allows the acceptance of such licenses to be recorded and reviewed.","x-tag-expanded":false},{"name":"Load Definition Distribution List Mappings","description":"Distribution list mappings provide a way to assign [Users](#tag--Users) to [Distribution Lists](#tag--Distribution-Lists) when processing a bulk\nuser upload. They are attached to [Load Definitions](#tag--Load-Definitions),\nand define a text tag, which when found in a user’s `tags` field in\nthe bulk-load data, causes the user to be a member of the specified\ndistribution list.","x-tag-expanded":false},{"name":"Load Definition Facility Mappings","description":"Facility mappings provide a way to assign [Users](#tag--Users) to\n[Facilities](#tag--Facilities) when processing a bulk user upload. They are\nattached to [Load Definitions](#tag--Load-Definitions), and define a text tag,\nwhich when found in a user’s `tags` field in the bulk-load data,\ncauses the user to be a member of the specified facility.","x-tag-expanded":false},{"name":"Load Definition Security Group Mappings","description":"Security Group mappings provide a way to assign [Users](#tag--Users) to [Security Groups](#tag--Security-Groups) when processing a bulk\nuser upload. They are attached to [Load Definitions](#tag--Load-Definitions),\nand define a text tag, which when found in a user’s `tags` field in\nthe bulk-load data, causes the user to be a member of the specified\nsecurity group.","x-tag-expanded":false},{"name":"Load Definition User Type Mappings","description":"User type mappings provide a way to assign user types to\n[Users](#tag--Users) when processing a bulk user upload. They are\nattached to [Load Definitions](#tag--Load-Definitions), and define a text tag,\nwhich when found in a user’s `tags` field in the bulk-load data,\ncauses the user to be assigned the specified type.\n\nThe available types are `regular` (which corresponds to Individual)\nand `rostered` (which corresponds to Roll Call). A type of `regular`\nis a standard user who can log into the system, receive notifications,\nand be assigned permissions within the system. A user of type\n`rostered` is a user who cannot receive notifications or log into the\nsystem, but who can be used in the Roll Call feature.\n\nThe default user type when not specified is `regular`, so it is only\nnecessary to define user type mappings if you are defining some of\nyour users as `rostered`.","x-tag-expanded":false},{"name":"Load Definitions","description":"While a handful of user accounts can easily be set up individually\nthrough the InformaCast Mobile [admin web\napp](https://admin.icmobile.singlewire.com), using normal REST\noperations on the [Users](#tag--Users) resource, there is also a\nbulk-load mechanism which makes it easier to create and synchronize a\nlarger number of users and assign them to [Security Groups](#tag--Security-Groups) and [Distribution Lists](#tag--Distribution-Lists).\n\nThis is done by creating a Load Definition, which sets up basic\nparameters about how to deal with existing users during the loading\nprocess, and also enables the assignment of loaded users to security\ngroups and distribution lists through [Security Group Mappings](#tag--Load-Definition-Security-Group-Mappings), [Distribution List Mappings](#tag--Load-Definition-Distribution-List-Mappings), and [Facility Mappings](#tag--Load-Definition-Facility-Mappings) (if [Facilities](#tag--Facilities) are in use).\n\nOnce the load definition is set up appropriately, the bulk load\noperation is performed by posting a [Load Request](#tag--Load-Requests) referencing the load definition, with the user data in a\nsimple [CSV text\nformat](https://documentation.singlewire.com/mobile/InformaCast_Mobile/Using/Multiple_Users/Load_Users_Through_a_CSV_File.htm).","x-tag-expanded":false},{"name":"Load Requests","description":"Posting a load request is how a [Load Definition](#tag--Load-Definitions) can be used to actually create or update a batch of\n[Users](#tag--Users) in InformaCast Mobile. User information in a\nsimple comma-separated-value text format (see example below) or Excel\nspreadsheet is uploaded in the post request, and the rules and\nmappings that make up the load definition are used to appropriately\nadjust the Users resource.\n\nThe `deletePolicy` of the Load Definition controls what happens to\nusers that existed in the system before the load request was posted,\nand which are not present in the uploaded data. They can either be\ndeleted, or left alone.\n\nIf facilities are in use, and there are no [Facility Mapping](#tag--Load-Definition-Facility-Mappings) tags present for a user that\nis being created, that user will be created in the acting Facility in\nwhich the Load Request was submitted. Similarly, if the user is being\nupdated and there are no Facility Mapping tags present, their Facility\nmemberships will be left alone even if the `facilityUpdatePolicy` is set\nto `update`.\n\nOnce posted, the load request resource can be examined to see the\nstatus and results of the bulk load process.\n\n## Example CSV file contents\n\n    name, email, tags\n    Butch Cassidy, ridingdirty@yoyodyne.com, student\n    Jesse James, bushwhackersforever@outwest.us, student\n    Billy the Kid, wm.bonney@horse.com, student admin\n\nAssuming this file is posted in a load request using a [Load Definition](#tag--Load-Definitions) which has one or more\n[Security Group Mappings](#tag--Load-Definition-Security-Group-Mappings), Distribution List Mappings, and [Facility Mapping](#tag--Load-Definition-Facility-Mappings) associated with the tags\n`student` and `admin`, all three [Users](#tag--Users) created or\nupdated will be placed in the groups, lists, and/or facilities assigned\nthe `student` tag, and Billy the Kid will also be placed in the\ngroups, lists, and/or facilities assigned the `admin` tag. More details\non the format can be found in the [online\nhelp](https://documentation.singlewire.com/mobile/InformaCast_Mobile/Using/Multiple_Users/Load_Users_Through_a_CSV_File.htm).","x-tag-expanded":false},{"name":"Logs of inbound SIP calls","description":"","x-tag-expanded":false},{"name":"Message Templates","description":"Message Templates (limit: 3500) form the basis of [Notifications](#tag--Notifications). The process of\nsending a notification begins when a [User](#tag--Users)\nselects a message template to which they have been granted access. The\ntemplate can provide a default subject, content, recipients, and\nconfirmation request for the notification, and controls which fields\nthe user is allowed to see and change in the process of sending the\nnotification. Templates can range from fully locked down notifications\nwhich can only be sent as-is, to a blank slate with no default\ncontent, from which the sender can decide everything. Of course, the\nmore that is pre-populated (and even hidden), the more quickly and\nefficiently a notification can be composed and sent when in a\nstressful situation, on a mobile client.\n\nIn order to control the visibility and changeability of notification\nfeatures, the template attributes come in groups of three. For\nexample, the `subject` attribute in the message template provides a\ndefault notification subject, while `subjectCustomizable` controls\nwhether the sender is able to change the subject when sending a\nnotification based on the template, and `subjectDisplay` specifies\nwhether the subject should be visible at all during the sending\nprocess. The same pattern of related attribute names is used for other\nnotification features. The `ttsType` attribute is considered part of\nthe message audio, and so it can only be changed at send time when\n`audioCustomizable` is `true`.\n\nThe display-control attributes are an instruction to client\napplications working with the API, telling them when the corresponding\nnotification features should be displayed to users who are using the\ntemplate to send a notification. They have two possible values:\n\n* `hide`, which means the feature should not be shown to the sender; and\n* `show`, which means the feature should be shown to the sender even\n  if they have no way of affecting it.\n\nIn order to support easy sending of follow-up notifications, a single\nmessage template can be marked for this kind of use by setting its\n`followUp` attribute to `true`. Because there can only be one such\nfollow-up message template, even when [Facilities](#tag--Facilities) are in\nuse, the follow-up template can only be created and edited in the Global\nfacility, but unlike other message templates, it will be visible and\nusable from all facilities.","x-tag-expanded":false},{"name":"Multicast Streaming","description":"![fusion](/api/docs/images/fusion_badge.png)\n\n Multicast Streaming allows endpoints to be created that broadcast audio over a multicast IP address and port so that Cloud/Other IP Phones can receive audio broadcasts. Formats currently supported include Generic multicast and Polycom-formatted multicast.\n\n > ⚠️ This is a FUSION ONLY plugin, meaning it requires at least one On-Premises Fusion Server, and your provider must be licensed for Generic Multicast Streams to use it.","x-tag-expanded":false},{"name":"Notification Activities","description":"Notification activities are the mechanism for tracking and reviewing interactions that all Users have had with a particular [Notification](#tag--Notifications). This ranges from simply seeing the list of all recipients to determining who has marked it read or unread, and gathering any responses to an associated [Confirmation Request](#tag--Confirmation-Requests). Administrators and other users with appropriate permissions can also create new activities for a particular notification to cancel or expire it.","x-tag-expanded":false},{"name":"Notification Devices","description":"![fusion](/api/docs/images/fusion_badge.png)\nProvides a unified view of all the [Devices](#tag--Devices) that received a particular [Notification](#tag--Notifications).\n\n## Notification Device Types\n\nThe `type` parameter provides information about what kind of device\nreceived the notification. If it was delivered through the cloud over\nthe public internet, this will be one of the following values:\n\n| Type             | Description                                     |\n|------------------|-------------------------------------------------|\n | Android          | Push notifications to Android devices           |\n| apns             | Push notifications to Apple iOS devices         |\n| apns-desktop     | Push notifications to macOS desktops            |\n| msteams-chat     | Microsoft Teams clients                         |\n| phone-call       | Voice phone call devices                        |\n| singlewire:email | Email clients                                   |\n| SMS              | Mobile phone Short Message Service text devices |\n| WNS              | Push notifications to Windows devices           |\n\nIf the device was reached over an on-premises network through a Fusion\nserver, it will be one of:\n\n| Type                    | Description                                            |\n|-------------------------|--------------------------------------------------------|\n | IPSpeaker               | Physical IP speaker or an InformaCast Desktop Notifier |\n| M2M_OutputPort          | Machine-to-machine interface port                      |\n| Multicast Stream        | Preconfigured multicast stream                         |\n| PagingGateway           | Paging gateway                                         |\n| QuickURL                | Preconfigured QuickURL                                 |\n| singlewire:CiscoIPPhone | Cisco IP phone                                         |","x-tag-expanded":false},{"name":"Notification Extensions","description":"allow proxying requests into internal microservices to retrieve additional microservice-specific information about a particular notification. They are intended mainly to be used by internal applications such as the admin webapp to augment the display of a notification inside Notification History or a user's Notification list. For example a notification initiated by a Kontakt.io integration will contain a floor plan image retrieved from our Kontakt.io microservice which itself retrieves that image from Kontakt.io. See [Notification Extensions Proxy](#tag--Notification-Extensions-Proxy) for usage of these proxy routes.","x-tag-expanded":false},{"name":"Notification Extensions Proxy","description":"Some microservices (at this moment only our Kontakt.io microservice) expose via a proxy methods to retrieve additional microservice-specific information about a particular notification. They are intended mainly to be used by internal applications such as the admin webapp to augment the display of a notification inside Notification History or a user's Notification list. For example a notification initiated by a Kontakt.io integration will contain a floor plan image retrieved from our Kontakt.io microservice which itself retrieves that image from Kontakt.io. Currently, only a GET request to the Kontakt.io microservice is supported. No other request types or extensions use this proxy.","x-tag-expanded":false},{"name":"Notification Profiles","description":"![fusion](/api/docs/images/fusion_badge.png)\n\nA notification profile is a convenient way of grouping common message\nsettings and applying it to multiple [Message Templates](#tag--Message-Templates). As an example, you may have a group of emergency related\nmessage templates which have the same notification profile so they can\nshare settings such as the same icon, repetition settings,\nintroductory text, etc.\n\n> ℹ️ Every message template must be assigned a notification profile.\n\nA notification profile is composed of a name and settings. Each\nsetting maps directly to a _device extension_ and if a non-null object\nis provided for the setting’s _value_, it will then override settings\ndefined globally in the extension’s _config_.\n\n## Notification Profile Settings\n\nCurrently, the API supports settings for the following extension IDs:\n\nName | ID\n---- | ----\nInformaCast Device | e322d549-4e80-11e6-af2d-9baf604d14b0\nEmail | b6d90e60-2a40-11e5-8134-9a9e6c05013a\niOS| 839771a8-4915-11e6-8b2f-d310e58d9c03\nAndroid | 5a181177-3f02-11e6-9617-6bb7c7eddc0e\nSMS | 17c57b50-833d-11e5-b222-def38c5ff9e6\nPhone Call | 0a466b30-7670-11e5-ba6e-765ae9d26291\nOutbound CAP | e1b2db4b-626a-11e7-a3f9-0de43455e893\nDesktop Notifier | 56d6e006-542e-11e6-ae77-e3b4cf41fce9\n\n> ℹ️ There are technically a few more, but we have omitted them for\n> brevity as they are unlikely to ever be configured.\n\n## Attachments\n\nNotification profile settings can also have attachments, such as\nimages and audio, to customize their behavior. Currently only the\nInformacast Device extension supports attachments.\n\nAttachments can only be uploaded via `multipart/form-data` requests,\nusing field names like:\n\n    settings[e322d549-4e80-11e6-af2d-9baf604d14b0][attachments][preTone]\n\nHere, `e322d549-4e80-11e6-af2d-9baf604d14b0` is the `id` of the\nInformaCast device extension, and `preTone` is the `name` of one of\nthe attachment types it supports. (The others are `mainAudio`,\n`postTone`, and `displayIcon`).\n\nThe value uploaded with such an attachment key must be the binary data\nof the attachment, with the appropriate MIME type header.\n\nIn responses, except when actually downloading a single attachment\nbinary using the specific endpoint which supports that, summary\ninformation about the attachments is returned with the following\nstructure:\n\nAttribute | Type | Description\n--------- | ---- | -----------\n__id__ | String | The `id` of the attachment.\n__name__ | String | The name of the attachment.\n__contentType__ | String | The content type of the attachment, such as `image/png`, `image/jpeg`, `audio/wav`, etc.\n__metadata__ | Object | Information about the attachment provided by the codec which understands that media format.\n__url__ | String | The url that can be used to fetch the binary data of the attachment.\n\n## IP Speaker Assets\nNotification profile settings can also have IP speaker assets to customize a speakers behavior. Currently only the\nInformacast Device extension supports IP speaker assets.\n\nIP speaker assets can only be uploaded via `multipart/form-data` requests,\nusing field names like:\n\n    settings[e322d549-4e80-11e6-af2d-9baf604d14b0][ipSpeakerAssets][SP-ModelName-CapabilityLabel][file]\n    settings[e322d549-4e80-11e6-af2d-9baf604d14b0][ipSpeakerAssets][SP-ModelName-CapabilityLabel][description]\n\nHere, `e322d549-4e80-11e6-af2d-9baf604d14b0` is the `id` of the\nInformaCast device extension, `SP-ModelName-CapabilityLabel` is the `tag` of\nthe attachment, `file` is the binary data of the asset file, and `description` describes what the attachment does.\n\nIP speaker assets may optionally contain the following field names:\n\n    settings[e322d549-4e80-11e6-af2d-9baf604d14b0][ipSpeakerAssets][SP-ModelName-CapabilityLabel][exampleImage]\n    settings[e322d549-4e80-11e6-af2d-9baf604d14b0][ipSpeakerAssets][SP-ModelName-CapabilityLabel][exampleImageAltText]\n    settings[e322d549-4e80-11e6-af2d-9baf604d14b0][ipSpeakerAssets][SP-ModelName-CapabilityLabel][authoringUrl]\n\nHere, `exampleImage` is the binary data of the example image, `exampleImageAltText` is alternate text to be used for identifying the image, and `authoringUrl`\nis the url that links to a vendors web-app.\n\nIf the `file` field is included without a value, the IP speaker asset will be deleted.\nIf the `exampleImage` field is included without a value, the IP speaker asset example image will be deleted.\n\nIf updating a `exampleImage`, `exampleImageAltText`, `authoringUrl`, or `description` for an existing attachment, the `file` field will not be required.\n\nIn responses, except when actually downloading a single IP speaker asset\nbinary using the specific endpoint which supports that, summary\ninformation about the attachments is returned with the following\nstructure:\n\nAttribute | Type   | Description\n--------- |--------| -----------\n__id__ | String | The `id` of the IP speaker asset.\n__tag__ | String | The tag of the attachment.\n__asset__ | JSON | Details about the IP speaker asset.\n__exampleImage__ | JSON | Details about the IP speaker asset example image.\n__authoringUrl__ | String | The url to the vendor authoring tool.\n__description__ | String | Description of what the config file does\n\n`exampleImage` and `asset` will be JSON objects structured in the following way:\n\nAttribute | Type | Description\n--------- | ---- | -----------\n__fileName__ | String | The file name of the IP speaker asset or example image.\n__size__ | Integer | The size of the IP speaker asset or example image in bytes.\n__contentType__ | String | The content type of the IP speaker asset or example image, such as `application/zip`, `image/png`, `image/jpeg`, etc.\n__url__ | String | The url that can be used to fetch the binary data of the IP speaker asset or example image.\n__metadata__ | String | Information about the IP speaker asset provided by the codec which understands that media format.\n__altText__ | String | The alternate text to be used for identifying the example image\n\n`exampleImage` will also have an `altText` field that specifies the alternate text that should be displayed in clients for accessibility purposes.","x-tag-expanded":false},{"name":"Notification Recipients","description":"Notification recipients provide a convenient view of all the recipient [Users](#tag--Users) of a particular [Notification](#tag--Notifications), aggregating information about the user as well as whether they have read the notification, and their response to an associated [Confirmation Request](#tag--Confirmation-Requests), if any.","x-tag-expanded":false},{"name":"Notifications","description":"Posting a notification is how a notification is sent. Once sent, a\nrecord of the notification details remains for future reference.\nAdministrators can access all sent notifications through this\nresource, or examine notifications sent to individual Users through\nthe [User Notifications](#tag--User-Notifications) resource. Ordinary users\ngenerally only have access to their own User Notifications resource,\nand to notifications they sent.\n\nA Notification resource may include sub-resources which contain audio,\nan image, and [Activities](#tag--Notification-Activities).\nActivities track how users have interacted with the notification, such\nas marking it read, responding to a [Confirmation Request](#tag--Confirmation-Requests), etc.","x-tag-expanded":false},{"name":"Outbound Rules","description":"Outbound Rules are attached to [Inbound Email](#tag--Inbound-Email) configurations and\ndetermine which\nmessage template and recipients will be used to generate a notification based on\nmatching criteria. The criteria consist of keywords found in either the body or\nthe subject of an incoming email. Note that these rules work in conjunction with\nthe source whitelist of the Inbound Email configuration. Matching contents must\nstill come from an approved source.","x-tag-expanded":false},{"name":"Placeholder Devices","description":"Placeholder devices (limit: 100000)","x-tag-expanded":false},{"name":"Policies","description":"A policy describes sets of permissions that align with common roles, which can be applied to [Security Groups](#tag--Security-Groups). Policies are the preferred way of assigning permissions to security groups, as they are reusable and less error-prone than manually assigning individual permissions.\n\n## Admin Policy\nThere is a policy named \"Admin\" which provides the administrator permission set. It is preexisting and cannot be updated or deleted. It has the well-known ID `f8498db0-f46c-11ef-ac77-0800200c9a66`.\n\n## Permission Sets\n\nThe following are the available permission sets that can be used with policies. Each has a well-known ID that can be referenced for use in the API. The given descriptions are _general_ descriptions. Non-admin permission sets allow limited privileges that are adjacent to the described role; e.g. scenarios may leverage sites, so roles for managing/sending scenarios incorporate site viewing permissions.\n\n| Name                  | ID                                   | Description                                                                                                                                                                              |\n|-----------------------|--------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Admin                 | fa1c0721-6bc1-11ef-a246-c706490e0000 | Provides full/administrative access (only used with preexisting admin policy).                                                                                                           |\n| Alert Badge Manager   | fa1c0721-6bc1-11ef-a246-c706490e0009 | Provides permissions for managing Alert Badges.                                                                                                                                          |\n| Bell Schedule Manager | fa1c0721-6bc1-11ef-a246-c706490e0007 | Provides permissions for managing bell schedules and ring lists.                                                                                                                         |\n| Incident Manager      | fa1c0721-6bc1-11ef-a246-c706490e0004 | Provides permissions for managing incidents.                                                                                                                                             |\n| Notification Manager  | fa1c0721-6bc1-11ef-a246-c706490e0005 | Provides permissions for managing message templates and scenarios.                                                                                                                       |\n| Notification Sender   | fa1c0721-6bc1-11ef-a246-c706490e0002 | Provides permissions for sending notifications via message templates and scenarios (note: Incident Manager and Notification Manager implicitly include Notification Sender permissions). |\n\n### Restrictions, Mutually Exclusive Permissions Sets\n\n- Admin cannot be used/applied directly. It is only used indirectly via the preexisting admin policy.\n- Notification Manager cannot be applied with Notification Sender (latter is redundant)\n- Incident Manager cannot be applied with Notification Sender (latter is redundant)\n\n### Notification Sender and Allowed Resources\n\nWhen a policy including Notification Sender is applied to a security group, that security group may define [Allowed Message Templates](#tag--Security-Group-Allowed-Message-Templates) and [Allowed Scenarios](#tag--Security-Group-Allowed-Scenarios) to restrict the resources available for sending.","x-tag-expanded":false},{"name":"Public Applications","description":"Provides information about third-party (marketplace) [Applications](#tag--Applications) available to be installed in your InformaCast system, including screen shots to help understand what they offer.","x-tag-expanded":false},{"name":"Reports","description":"Provides information about consumable resources available to the account associated with the access token. Currently this focuses on voice dialing and SMS messaging, but other reports will be added as more features are made available.\n\n## Telephony Report\n\nProvides the current telephony numbers available for this account\n\n**Report Id** 40c2d980-5c87-11e5-836c-92a0fedb8915\n\n### Response\n\nThe Telephony Numbers Report is an array of small maps, each with the following content:\n\n| Attribute           | Type | Description|\n|---------------------| ---- | -----------|\n | __id__              | UUID | The unique identifier of this phone number entry.|\n | __phoneNumber__     | String | The E164 formatted phone number. If `type` is \"toll-free-unverified\" this will have the value \"pending\" until the number has been verified for high-throughput calling, and it will not yet be used.|\n | __created&shy;At__  | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When this phone number was added to the account.|\n | __type__            | String | One of \"local\", \"toll-free\", or \"toll-free-unverified\".|\n | __primary__         | Boolean | A boolean showing if this number comes from the primary telephony service provider assigned to the account.|\n | __serviceProvider__ | String | The name of the underlying telephony service provider which provides access to the phone number.|\n\n## General Counts Report\n\nProvides general counts such as subscription sizes and usage.\n\n**Report Id** 30a05e90-9156-11e6-b405-11f7f6be9a24\n\n### General Counts Report Response\n\nThe General Counts Report is an object with the following keys/counts:\n\n| Attribute                     | Type | Description|\n|-------------------------------| ---- | -----------|\n | __usersCount__                | Integer | The number of users currently in the system|\n | __androidDevicesCount__       | Integer | The number of android devices currently in the system|\n | __speakersCount__             | Integer | The number of fusion speakers currently in the system|\n | __pluginsCount__              | Integer | The number of fusion plugins currently in the system|\n | __maxSpeakers__               | Integer | The max number of speakers the system is licensed for|\n | __fusionServersCount__        | Integer | The number of fusion servers currently in the system|\n | __anonymousUsersCount__       | Integer | The number of anonymous users currently in the system|\n | __applicationsCount__         | Integer | The number of applications currently in the system|\n | __idnsCount__                 | Integer | The number of fusion desktop notifiers currently in the system|\n | __lockedUsersCount__          | Integer | The number of locked users currently in the system|\n | __emailDevicesCount__         | Integer | The number of email devices currently in the system|\n | __anonymousSubscriptionSize__ | Integer | The max number of anonymous users the system is licensed for|\n | __maxFusionServers__          | Integer | The max number of fusion servers the system is licensed for|\n | __maxIdns__                   | Integer | The max number of fusion desktop notifiers the system is licensed for|\n | __maxPhones__                 | Integer | The max number of fusion phones the system is licensed for|\n | __subscriptionSize__          | Integer | The max number of users the system is licensed for|\n | __phoneCallDevicesCount__     | Integer | The number of phone call devices currently in the system|\n | __userIpPhonesCount__         | Integer | The number of fusion phones attached to users currently in the system|\n | __iosDevicesCount__           | Integer | The number of iOS devices currently in the system|\n | __smsDevicesCount__           | Integer | The number of SMS devices currently in the system|\n\n\n## Users Report\n\nProvides information about users registered with InformaCast Mobile.\n\n**Report Id** fec17bc8-73bf-11e7-81a9-f7379b42fa1e\n\n### Query Parameters\n\nThe content of the report can be customized by supplying the following\nquery parameters as part of the request:\n\n| Parameter                | Type | Description|\n|--------------------------| ---- | -----------|\n | distribution&shy;ListIds | UUID or Array[UUID] | Return users belonging to these distribution lists.|\n | security&shy;GroupIds    | UUID or Array[UUID] | Return users belonging to these security groups.|\n\nIf both parameters are given, the users who are present in either the\nspecified distribution lists or security groups will be included in\nthe report. If neither is given, then all users will be included in\nthe report.\n\n### Users Report Response\n\nThe Users Report has the following content:\n\n| Attribute                  | Type | Description                                                                                                                                                                                                                                                       |\n|----------------------------| ---- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | devices                    | Array[Device] | The endpoint devices associated with the user. Note this is the device object below, not a standard device responce.                                                                                                                                              |\n | dnd                        | Object | Do not disturb settings for the user, if any.                                                                                                                                                                                                                     |\n | distribution&shy;Lists     | Array[DistributionList] | The distribution lists to which the user is subscribed.                                                                                                                                                                                                           |\n | __email__                  | String | The user&rsquo;s email address; will be missing for users whose `type` is `anonymous` or `application`.                                                                                                                                                           |\n | __id__                     | String | The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user.                                                                                                                                                    |\n | isLocked                   | Boolean | Indicates whether the user account has been locked out.                                                                                                                                                                                                           |\n | name                       | String | The user&rsquo;s name.                                                                                                                                                                                                                                            |\n | passwordReset&shy;Required | boolean | Whether the user will be forced to set a new password on next login (available only for Providers configured to use InformaCast&rsquo;s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown. |\n | securityGroups             | Array[Security Groups](#tag--Security-Groups) | The user&rsquo;s [Security Groups](#tag--User-Security-Groups).                                                                                                                                                                                                               |\n\n### Users Report Device Object\n\n| Attribute                     | Type | Description|\n|-------------------------------| ---- | -----------|\n | __id__                        | String | The `id` of this specific device, allowing it to be manipulated or retrieved individually.|\n | __name__                      | String | The name of the device.|\n | __type__                      | String | The type of device, such as `\"apns\" | \"android\" | \"SMS\" | \"singlewire:email\" | ...`.|\n | __disabled__                  | Boolean | Whether to skip this device when sending notifications.|\n | __deviceIdentifier__          | String | The unique identifier used to address this device, such as an email address, normalized phone number, or push notification token.|\n | __blocklistTimestamp__        | String | The ISO-8601 timestamp when the device was added to the user loader blocklist, if blocklisted. May be null if blocklisted before timestamps were tracked.|\n | __isBlocklistedInUserLoader__ | Boolean | Whether a match for this device is on the user loader blocklist, preventing it from being updated by future runs of the user loader.|\n\n## Anonymous Users Report\n\nProvides information about anonymous users that have signed up with\nInformaCast Mobile. This may be useful to clean up users who signed up\nfor notification during campaigns that are no longer in use.\n\n### HTTP Request\n\n**Report Id** ffb9be7a-73bf-11e7-81a9-bb2acacbf0d9\n\n### Query Parameters\n\nThe content of the report can be customized by supplying the following\nquery parameter as part of the request:\n\n| Parameter                | Type | Description|\n|--------------------------| ---- | -----------|\n | distribution&shy;ListIds | UUID or Array[UUID] | Return users belonging to these distribution lists.|\n\nIf the parameter is not given, then all anonymous users will be\nincluded in the report.\n\n### Anonymous Users Report Response\n\nThe Anonymous Users Report has the following content:\n\n| Attribute              | Type                          | Description|\n|------------------------|-------------------------------| -----------|\n | devices                | Array[Devices](#tag--Devices) | The endpoint devices associated with the user.|\n | distribution&shy;Lists | Array[DistributionList]       | The distribution lists to which the user is subscribed, most likely via a campaign, but an administrator may have added them to others.|\n | __email__              | String                        | The user&rsquo;s email address; will be missing for users whose `type` is `anonymous` or `application`.|\n | __userId__             | String                        | The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user.|\n\n## Opted Out Report\n\nThis no longer returns any values, because\nMessage Templates no longer have an opt-out feature. Eventually the\nentire report will be removed once there has been time for API clients\nto be updated. Please use the `isSubscribable` feature in instead).\n\nNo longer provides any values.\n\n**Report Id** ff695489-73bf-11e7-81a9-3557b17e8348?messageTemplateId=4f86d775-4478-11e6-906f-65d9c7017cc7\n\n### Query Parameters\n\nYou must specify which message template you are interested in finding\nopted-out users for using the following query parameter as part of the\nrequest:\n\n| Parameter              | Type | Description|\n|------------------------| ---- | -----------|\n | message&shy;templateId | UUID | Return users who have opted out from this message template.|\n\n### Opted Out Report Response\n\nThe Users Report has the following content:\n\n| Attribute | Type | Description|\n|-----------| ---- | -----------|\n | __email__ | String | The user&rsquo;s email address.|\n | __id__    | String | The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user.|\n | name      | String | The user&rsquo;s name.|\n\n\n## Get the Notification History Report\n\nProvides a historical summary of notifications sent, with a variety of\nfiltering options.\n\n**Report Id** fffce1fb-73bf-11e7-81a9-f312ef69431f\n\n### Query Parameters\n\nYou can filter the specific notifications you are interested in\nlearning about by using combinations of the following query parameters\nin the request:\n\n| Parameter                  | Type | Description|\n|----------------------------| ---- | -----------|\n | begin&shy;Timestamp        | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | If present, only notifications which were sent at or after this time will be included.|\n | distribution&shy;ListId    | UUID | If present, only notifications that were sent to a current member of this distribution list will be returned. Only one of `distributionListId`, `securityGroupId`, and `userId` can be supplied.|\n | end&shy;Timestamp          | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | If present, only notifications which were sent before or at this time will be included.|\n | exclude&shy;NotificationTypes | String | A comma-delimited list of notification types to exclude (determined by `initiationSourceType`).|\n | filter&shy;Email           | boolean | If `true`, only notifications which sent emails will be included.|\n | filter&shy;PhoneCall       | boolean | If `true`, only notifications which placed phone calls will be included.|\n | filter&shy;Push            | boolean | If `true`, only notifications which sent push notifications will be included.|\n | filter&shy;Sms             | boolean | If `true`, only notifications which sent SMS messages will be included.|\n | security&shy;GroupId       | UUID | If present, only notifications that were sent by a current member of this security group will be returned. Only one of `distributionListId`, `securityGroupId`, and `userId` can be supplied.|\n | userId                     | UUID | If present, only notifications that were sent to this user will be returned. Only one of `distributionListId`, `securityGroupId`, and `userId` can be supplied.|\n\n### Notification History Response\n\nThe Notification History Report has the following content:\n\n| Attribute                     | Type | Description                                                                                                                                                                                    |\n|-------------------------------| ---- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | __createdAt__                 | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When the notification was sent.                                                                                                                                                                |\n | __id__                        | String | The `id` of the notification, allowing more details about it and its activities to be retrieved.                                                                                               |\n | notification&shy;Progress     | Object | A map of extension ids to progress counts (`type`, `total`, `failed`, `completed`, and, for devices, `deviceType`), summarizing the notification activities associated with the notification. Their details can be retrieved using the [Notifications](#tag--Notifications) resource. |\n | __recipient&shy;Count__       | Integer | The number of recipients to whom the notification was sent.                                                                                                                                    |\n | sender&shy;Name               | String | The name of the user who sent the notification.                                                                                                                                                |\n | __subject__                   | String | The subject text of the notification.                                                                                                                                                          |\n\n\n## Get the Notification Activity Rolling Sum Report\n\nProvides a second-by-second (or minute-by-minute) view of the number\nof notification activities of a particular type that are coming in for\na notification. This is used to provide the graphs in the live\nnotification view of the administrative interface.\n\n**Report Id** 3928be41-8695-11e7-826d-bf8eb3f35a45?notificationId=22578ad8-447a-11e6-8b4b-05d1e2b39e7a&type=confirmation\n\n### Query Parameters\n\nYou must specify which notification and activity type you are\ninterested in by supplying the `notificationId` and `type` parameters\nin your request. You can get less fine-grained results by supplying a\n`true` value for `minuteInterval`.\n\n| Parameter           | Type | Description|\n|---------------------| ---- | -----------|\n | notification&shy;Id | UUID | Identifies the notification whose activities you would like information about.|\n | __type__            | String | Options: `set-read-status`, `confirmation` `sms-sent`, `sms-received`, `call-placed`, `call-answered`, `sms-failed`, `call-failed`, `email-queued`, `email-sent`, `email-failed`. Identifies the type of activity you are interested in.|\n | minute&shy;Interval | Boolean | If `true`, activities will be summed at the level of minutes, otherwise they will be summed at the level of seconds.|\n\n### Notification Activity Rolling Sum Response\n\nThe Notification History Report has the following content:\n\n| Attribute | Type | Description|\n|-----------| ---- | -----------|\n | __time__  | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | The minute (or second) at which the rolling sum is being computed.|\n | __sum__   | Integer | The total number of activities of the specified type which had been reported for the specified notification by the end of the reported time.|\n\n\n## Get the Confirmation Report\n\nProvides information about [Users](#tag--Users) who have responded to [Confirmation Requests](#tag--Confirmation-Requests) within a specified time period.\n\n**Report Id** ff695489-73bf-11e7-81a9-3557b17e8348\n\n### Query Parameters\n\n| Parameter      | Type | Description|\n|----------------| ---- | -----------|\n | beginTimestamp | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | If present, only responses recorded at or after this time will be included.|\n | endTimestamp   | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | If present, only responses recorded before or at this time will be included.|\n\n### Confirmation Report Response\n\n| Attribute                         | Type | Description                                                                                                    |\n|-----------------------------------| ---- |----------------------------------------------------------------------------------------------------------------|\n | __confirmationRequestName__       | String | The name of the Confirmation Request.                                                                          |\n | __confirmationResponse__          | String | The confirmation response the User selected.                                                                   |\n | __confirmationResponseTimestamp__ | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When the User responded to the [Confirmation Requests](#tag--Confirmation-Requests).                                         |\n | __email__                         | String | The email address of the [Users](#tag--Users).                                                               |\n | __name__                          | String | The User&rsquo;s name.                                                                                         |\n | __notificationId__                | String | The ID of the [Notifications](#tag--Notifications) whose Confirmation Request the User is responding to.             |\n | __notificationSubject__           | String | The subject of the Notification whose Confirmation Request the User is responding to.                          |\n | __userId__                        | String | The `id` of the User, for efficient retrieval, manipulation, or looking up sub-resources attached to the User. |\n\n## Get the Token Expiration Report\n\n### Token Expiration Report Response\n\n**Report Id** 8fda36f6-4d02-11ee-a811-79b58e8b3a00\n\n| Attribute     | Type | Description|\n|---------------| ---- | -----------|\n | __id__        | String | The `id` of the User's Token.|\n | __userId__    | String | The `id` of the User, for efficient retrieval, manipulation, or looking up sub-resources attached to the User.|\n | name          | String | The name of the token|\n | client        | String | The id of the client|\n | scope         | String | The scope of the token|\n | __expires__   | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When the token expires|\n | notValidAfter | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | The maximum amount of time a session can be extended.|\n | user          | Object | The User object that owns the token|\n | endpoint      | Object | The Extension Endpoint object that owns the token|\n\n## Get the Confirmation History Report\n\nProvides information about [Users](#tag--Users) who have responded to [Confirmation Requests](#tag--Confirmation-Requests) for notifications and incidents within a specified time period.\n\n**Report Id** fba2f02e-7d23-11eb-9439-0242ac130002\n\n### Query Parameters\n\n| Parameter                   | Type | Description|\n|------------------------------| ---- | -----------|\n | beginTimestamp               | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | If present, only responses recorded at or after this time will be included.|\n | endTimestamp                 | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | If present, only responses recorded before or at this time will be included.|\n | excludeNotificationTypes     | String | A comma-delimited list of notification types to exclude (determined by `initiationSourceType`).|\n\n### Confirmation History Report Response\n\n| Attribute                         | Type | Description                                                                                                    |\n|-----------------------------------| ---- |----------------------------------------------------------------------------------------------------------------|\n | __confirmationRequestName__       | String | The name of the Confirmation Request.                                                                          |\n | __confirmationResponse__          | String | The confirmation response the User selected.                                                                   |\n | __confirmationResponseTimestamp__ | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When the User responded to the [Confirmation Requests](#tag--Confirmation-Requests).                                         |\n | __email__                         | String | The email address of the [Users](#tag--Users).                                                               |\n | __name__                          | String | The User&rsquo;s name.                                                                                         |\n | __notificationId__                | String | The ID of the [Notifications](#tag--Notifications) whose Confirmation Request the User is responding to.             |\n | __notificationSubject__           | String | The subject of the Notification whose Confirmation Request the User is responding to.                          |\n | __userId__                        | String | The `id` of the User, for efficient retrieval, manipulation, or looking up sub-resources attached to the User. |","x-tag-expanded":false},{"name":"Ring Lists","description":"Ring Lists (limit: 3500) represent the times and notifications that will be sent throughout the dates defined by the [Bell Schedule](#tag--Bell-Schedules) One can configure a time of day and the message template (with device group overrides or\ndistribution list overrides) that will be broadcasted at that time.","x-tag-expanded":false},{"name":"Rule Actions","description":"Rule actions provide a way to perform an action when a specific event takes place in InformaCast. Rule Actions are a composite resource, composed of a Rule and an Action. The rule is a JSON object that follows the format of the [AWS Event Ruler](https://github.com/aws/event-ruler) library. If the rule matches an InformaCast event that has occurred then the action will fire. Currently the only supported InformaCast event to match on is initiating a Scenario Notification and the only action is sending a webhook request. Currently the only way to create a new rule action is through the [Scenario Rule Actions](#tag--Scenario-Rule-Actions) API.","x-tag-expanded":false},{"name":"Scenario Notifications","description":"Scenario Notifications is how [Scenarios](#tag--Scenarios) send notifications. This endpoint ultimately sends as a [Notification](#tag--Notifications).\n\n## Scenario Notification Messages\n\nMessages are associated with each individual scenario notification, and allow the sender to control which messages are sent along with the recipients to which the message will be sent.\n\nScenario Notification Messages do not have their own endpoint, and are instead nested inside of an array in scenario notification resources.\n\n| Attribute                      | Type          | Description                                                                                                                           |\n|--------------------------------|---------------|---------------------------------------------------------------------------------------------------------------------------------------|\n | __messageId__                  | String        | The `id` of the scenario notification with which the individual message is associated.                                                |\n| __areaOfInterestIds__          | Array[String] | The list of ids for areas of interest that should be attached to this scenario notification.                                          |\n| __collaborationGroupIds__      | Array[String] | The list of ids for collaboration groups that should be attached to this scenario notification.                                       |\n| __deviceGroupIds__             | Array[String] | The list of ids for device groups (fusion only) that should be attached to this scenario notification.                                |\n| __distributionListIds__        | Array[String] | The list of ids for distribution lists that should be attached to this scenario notification.                                         |\n| __userIds__                    | Array[String] | The list of ids for users that should be attached to this scenario notification.                                                      |\n| __additionalDeviceRecipients__ | Array[Object] | A list of additional devices that should receive this scenario notification, in the format `{\"lookupValue\": String, \"type\": String}`. |\n\n## Scenario Notification Fields\n\nFields are associated with each individual scenario notification, and allow the sender manipulate the content of certain messages sent by a scenario.\n\nScenario Notification Fields do not have their own endpoint, and are instead nested inside of an array in scenario notification resources.\n\n| Attribute   | Type   | Description                                                                                                                                                                                                                                                                          |\n|-------------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | __fieldId__ | String | The `id` of the field with which the answer is associated. Either this or `fieldVariable` is required.\n | __fieldVariable__ | String | The `variable` value of the field with which the answer is associated. Either this or `fieldId` is required.                                                                                        |\n| __type__    | String | The type of field that the answer is associated with. Can be `option` or `text`. `site` is now deprecated and present for backwards compatibility with clients that have not yet been updated to use the more powerful `location` object; it will be fully removed at a future date. |\n| __answer__  | String | The answer to the question indicated by the `fieldId`.                                                                                                                                                                                                                               |\n\n## Scenario Notification Events\n\nEvents are pieces of notifications sent by a scenario. They contain information which associates a notification and a scenario.\n\nScenario Notification Events do not have their own endpoint, and are instead nested inside of an array in scenario notification resources.\n\n| Attribute                 | Type                                                    | Description                                   |\n|---------------------------|---------------------------------------------------------|-----------------------------------------------|\n | __createdAt__             | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When this scenario notification was created.  |\n| __id__                    | String                                                  | The `id` of the scenario notification event.  |\n| __scenarioNotifcationId__ | String                                                  | The `id` of the scenario notification.        |\n| __notification__          | [Notification](#tag--Notifications)            | The notification sent as part of the scenario notification send. |\n| __notificationId__        | String                                                  | The notification id associated with the event. |","x-tag-expanded":false},{"name":"Scenario Rule Actions","description":"Rule actions provide a way to perform an action when a specific event takes place in InformaCast. Rule Actions are a\ncomposite resource, composed of a Rule and an Action. The rule is a JSON object that follows the format of the\n[AWS Event Ruler](https://github.com/aws/event-ruler) library. The configured rule will match on the\n[Scenario Notification](#tag--Scenario-Notifications) event object's `scenario id`. When the given\nScenario Notification is initiated it will cause the configured action to trigger.","x-tag-expanded":false},{"name":"Scenarios","description":"Scenarios allow users to press a button and send a series of notifications to separate\naudiences in response to an emergency or a set of circumstances. There are several types of\nscenarios:\n* A standard scenario is a collection of questions (optional), message\ntemplates, sites/site roles (optional), and an incident plan (optional) tied to a\ncustomizable button that, when selected, initiates a series of simultaneous notifications (or\na single notification) to separate audiences and begins an incident (if an incident plan is\nattached).\n\n* A panic button scenario is a collection of message templates, a quick-dial\nnumber (optional), scenario instructions (optional), and an incident plan (optional) tied to\na customizable button that, when selected, initiates a series of simultaneous notifications\n(or a single notification) to separate audiences, starts tracking the location(s) of the user\nor users who initiated the scenario in a panic button tracking event, provides those users\nwith a number to call and helpful instructions to follow (optional), and begins an incident\n(if an incident plan is attached).\n\n* An integration scenario is a collection of message\ntemplates, variables, sites/site roles (optional), and an incident plan (optional) tied to\neither a softkey on a Cisco IP phone for Unified CM or the act of dialing 911 on a Zoom phone\nthat initiates a series of simultaneous notifications (or a single notification) to separate\naudiences and begins an incident (if an incident plan is attached).\n\nNote: It's also possible to simulate a scenario to show the content of all scenario messages that would be sent without actually sending the scenario. More documentation for doing this can be found [here](#get-/v1/scenarios/-scenarioId-).\n\n## Scenario Fields\n\nFields, known as Questions in the admin user interface, are objects that contain the questions asked to a dispatcher during a scenario.\n\nScenario Fields do not have their own endpoint, and are instead nested inside of an array in scenario resources.\n\n| Attribute      | Type                                                     | Description                                                                                                                                                        |\n|----------------|----------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | __id__         | String                                                   | The `id` of the field.                                                                                                                                             |\n| __scenarioId__ | String                                                   | The `id` of the associated scenario.                                                                                                                               |\n| __createdAt__  | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When this field was created.                                                                                                                                       |\n| __variable__   | String                                                   | The variable that stores an answer which can be interpolated in scenario messages. 3-32 alphanumeric characters plus underscores, and it must start with a letter. |\n| __type__       | String                                                   | The type of answer that should be provided. `option` gives a dropdown menu and `text` allows text entry.                                                           |\n| answer         | String                                                   | Saved response to the field's variable (required when scenario is configured using hotkeys to send immediately).                                                   |\n| options        | Array[String]                                            | Contains the list of options for a dropdown menu. Only necessary if the `type` is option. Up to 16 options, all of which must be at most 64 characters long.       |\n\nDuring the backwards compatibility period, you may see fields of type\n`site` in scenarios that used them prior to the migration to the use\nof Location objects, in order to avoid breaking\nintegrations with systems that are still expecting to use those site\nquestions. Those integrations need to be updated to use `location`\ninstead, because this backwards compatibility feature will only be\navailable for a release or two.\n\n## Scenario Messages\n\nMessages, known as Scenario Notifications in the admin user interface, contain specific information unique to the scenario, such as a replacement subject and body and the associated message template, which is the vehicle for sending scenario notifications.\n\nScenario Messages do not have their own endpoint, and are instead nested inside of an array in scenario resources.\n\n| Attribute             | Type                                                     | Description                                                                                                                                                                                                                         |\n|-----------------------|----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| __id__                | String                                                   | The `id` of the site role's recipients.                                                                                                                                                                                             |\n| __scenarioId__        | String                                                   | The `id` of the associated scenario.                                                                                                                                                                                                |\n| __createdAt__         | [ISO 8601](http://www.w3.org/TR/NOTE-datetime) date/time | When this scenario message was created.                                                                                                                                                                                             |\n| __messageTemplate__   | [Message Template](#tag--Message-Templates)    | The information about the message template used by the message.                                                                                                                                                                     |\n| __messageTemplateId__ | String                                                   | The `id` of the message template associated with the message.                                                                                                                                                                       |\n| __name__              | String                                                   | The name of the message. Used to differentiate between multiple messages attached to one scenario. Maximum of 140 characters.                                                                                                       |\n| siteRoles             | Array[[Site Role](#tag--Site-Roles)]           | The site roles associated with a message. For example, a message meant for the security team might have a Security site role attached. May only be included if a field of type `site` is included in the scenario.                  |\n| siteRoleIds           | Array[String]                                            | The list of ids for the site roles associated with a message. May only be included if a field of type `site` is included in the scenario.                                                                                           |\n| confirmationRequest   | [Confirmation Request](#tag--Confirmation-Requests)                                                                                                                                                                                                              | The confirmation request associated with this message.                                                                                                                                                                              |\n| confirmationRequestId | String                                                   | The id of the associated confirmation request.                                                                                                                                                                                      |\n| subject               | String                                                   | The subject of the scenario message which can override the subject of the associated message template. May include information wrapped in {{double curly brackets}} to interpolate variables from sites. Maximum of 256 characters. |\n| body                  | String                                                   | The body of the scenario message which can override the body of the associated message template. May include information wrapped in {{double curly brackets}} to interpolate variables from sites. Maximum of 10000 characters.     |\n\n### Request Parameters\n\n| Attribute             | Type          | Description                                                                                                                                                                                                                         |\n|-----------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | __id__                | String        | The `id` of the site role's recipients.                                                                                                                                                                                             |\n| __scenarioId__        | String        | The `id` of the associated scenario.                                                                                                                                                                                                |\n| __messageTemplateId__ | String        | The `id` of the message template associated with the message.                                                                                                                                                                       |\n| __name__              | String        | The name of the message. Used to differentiate between multiple messages attached to one scenario. Maximum of 140 characters.                                                                                                       |\n| siteRoleIds           | Array[String] | The list of ids for the site roles associated with a message. May only be included if a field of type `site` is included in the scenario.                                                                                           |\n| confirmationRequestId | String        | The id of the associated confirmation request.                                                                                                                                                                                      |\n| subject               | String        | The subject of the scenario message which can override the subject of the associated message template. May include information wrapped in {{double curly brackets}} to interpolate variables from sites. Maximum of 256 characters. |\n| body                  | String        | The body of the scenario message which can override the body of the associated message template. May include information wrapped in {{double curly brackets}} to interpolate variables from sites. Maximum of 10000 characters.     |\n\n## Location Object\n\nThe JSON object used to represent a location when creating or simulating a Scenario Notification has the following content:\n\n| Attribute | Type   | Description                                                                                       |\n|-----------|--------|---------------------------------------------------------------------------------------------------|\n | site      | Object | If present, contains a single attribute `id` which specifies the ID of a [Site](#tag--Sites)\n | building  | Object | If present, contains a single attribute `id` which specifies the ID of a [Building](#tag--Site-Buildings). If both are present, this must be a building that is part of `site`.\n | floor     | Object | If present, contains a single attribute `id` which specifies the ID of a [Floor](#tag--Site-Building-Floors). If all are present, this must be a floor that is part of `site` and `building`.\n | zone      | Object | If present, contains a single attribute `id` which specifies the ID of a [Zone](#tag--Site-Building-Floor-Zones). If all are present, this must be a floor that is part of `site`, `building`, and `floor`.\n\nA full Location object specifying all four levels would have a structure shown on the right:\n\n```json\n{\n  \"site\": { \"id\": \"48fa0f0c-39fc-11e9-8c83-c128c081826b\" },\n  \"building\": { \"id\": \"b321c52b-064b-11ea-9265-f333e562b36b\" },\n  \"floor\": { \"id\": \"b321c52b-064b-11ea-9265-f333e562b36b\" },\n  \"zone\": { \"id\": \"48fa0f0c-39fc-11e9-8c83-c128c081826b\" }\n}\n```\n\nAs noted above in the attribute list, it is possible as a shorthand to\nspecify only the lowest level element that you want to specify, and\nthe system can figure out the parent levels. For example, if you\nspecify a `zone`, it can figure out the corresponding `floor`,\n`building`, and `site`. If you do specify all levels, they must\nactually belong in the hierarchy that you specified or a validation\nerror will occur. And of course, you can leave out lower levels if\nthey don't exist or are not relevant to the [Scenario Notification](#tag--Scenario-Notifications) being simulated or created. The\nminimal requirement is that at least a `site` with its `id` must be\nprovided.\n\nAdditionally, to support integration with outside systems which have\ntheir own notions of locations, but which may not be aware of the\nspecific `id` values used by Singlewire, when specifying each location\nlevel you can supply a `name` key instead of `id` for that level, and\nthe value that you supply with that key which will be used to look up\nthe resource whose name exactly matches, and the corresponding `id`\nwill be used to build the location object.\n\nAlternatively, if [external](#tag--Site-External-Sources) sites, buildings,\nfloors, or zones have been imported, their IDs can be used to set up a\nlocation object by supplying an `externalId` key instead of `id`. The\nvalue supplied with `externalId` is a colon-separated string, where\nthe first part is the `source` associated\nwith the external resource, and the second part is the ID by which\nthat resource is known in the external system from which it was\nimported. If a corresponding external site, building, floor, or zone\ncan be found, then it will be used to build the location object (but\nthe `id` reported in the built object will still be the internal\nSinglewire ID associated with that external resource).\n\nIf multiple keys are supplied for a level, they are consulted in\npriority order. if `id` is present, it is always preferred. If there\nis no `id` but `externalId` is present, then `externalId` will be\nused. Finally, if neither `id` nor `externalId` was provided, `name`\nwill be used. If none of these three keys is provided for a level, the\nlocation object is invalid. And if the value provided for a key does\nnot correspond to an existing resource, the location object is invalid\neven if other keys were provided for that location level.","x-tag-expanded":false},{"name":"Scheduled Notifications","description":"Scheduled Notifications (limit: 3500) provide a mechanism for configuring repeating or single event [Notification](#tag--Notifications). One can configure when a scheduled notification will fire, which message template it will use, and to whom it will be sent. You can also disable a scheduled notification if needed.","x-tag-expanded":false},{"name":"Security Group Allowed Message Templates","description":"Security Group Allowed Message Templates specifies allowed [Message Templates](#tag--Message-Templates)  for the security group in conjunction with [Policies](#tag--Policies). When the Security Group has the Notification Sender permission set applied as part of its policy, only the specified message templates will be visible/available for sending.","x-tag-expanded":false},{"name":"Security Group Allowed Scenarios","description":"Security Group Allowed Scenarios specifies allowed [Scenarios](#tag--Scenarios) for the security group in conjunction with [Policies](#tag--Policies). When the Security Group has the Notification Sender permission set applied as part of its policy, only the specified scenarios will be visible/available for sending.","x-tag-expanded":false},{"name":"Security Group Members","description":"A [Security Group](#tag--Security-Groups) is a convenient way of organizing a named\nset of reusable permissions which can be assigned to multiple [Users](#tag--Users) in the\nsystem. The member list is the set of users who belong to the security group, and who are\nthereby implicitly granted all of its [Security Group Permissions](#tag--Security-Group-Permissions).\n\nEvery security group can be assigned to any number of users. A user can do anything which\nis mentioned in the permissions of any security groups of which they are a member, as well\nas any direct [User Permissions](#tag--User-Permissions) assigned to them. In Site Access mode, a security\ngroup's permissions are only applied in the facility in which it was created (or, if the group\nis in Global, the permissions apply to all facilities so long as a user has access to facilities\noutside of Global).","x-tag-expanded":false},{"name":"Security Group Permissions","description":"A [Security Group](#tag--Security-Groups) is a convenient way of organizing\na named set of reusable permissions which can be assigned to multiple\n[Users](#tag--Users) in the system. The [member list](#tag--Security-Group-Members)\nis the set of users who belong to the\nsecurity group, and who are thereby implicitly granted all of its\npermissions.\n\nPermissions are required to perform any action with the InformaCast\nMobile API. When validating an action that a user is trying to perform\nthrough the API, the [User Permissions](#tag--User-Permissions) assigned\ndirectly to the user (through the access token which accompanies all\nAPI requests) are combined with any that come from security groups to\nwhich the user belongs.\n\nEach permission is made up of two attributes: the `spec` which\nidentifies the resource being controlled, and the `verb` which\nidentifies the action (HTTP method) being permitted. For example, a\npermission granting the ability to read a particular [User](#tag--Users)\nresource would use the `spec` `/users/{userId}` and a `verb` of `get`.\nTo grant the ability to read every user, the `spec` would use the `*`\nwildcard character rather than a specific user `id`. This same pattern\ncan also be applied with the verbs `post` (create), `put` (update),\nand `delete`. In the case of `post` permissions, a trailing `/*` is\nnot required to give create access to a specific resource, because the\n`id` value is not assigned until after the post action is in progress.\n\nEvery security group can be assigned to any number of users. A user\ncan do anything which is mentioned in the permissions of any security\ngroups of which they are a member, as well as any direct [User Permissions](#tag--User-Permissions)\nassigned to them.\n\nWhen using Site Access, a Security Group's permissions only apply to the\nfacility the Security Group was created in, or all facilities if the\nSecurity Group is in Global.\n\n> ⚠️ If the security group is marked as a \"super\n> group\" then the actual permissions associated with it are ignored, and\n> its members are automatically and implicitly granted every possible\n> permission that exists within InformaCast. Environments which\n> existed before the super group feature was implemented may still list\n> permissions within the super group, but newer environments will list\n> an empty set of permissions. In both cases, it is no longer possible\n> to add or remove permissions from a super group, and the vestigial\n> permissions present, if any, have no effect. When [Facilities](#tag--Facilities)\n> are in use, there can be multiple super groups, each acting in different\n> facilities, in order to facilitate the hierarchical delegation of administrative duties.","x-tag-expanded":false},{"name":"Security Group SCIM Groups","description":"Security Group SCIM Groups connect [Security Groups](#tag--Security-Groups) to SCIM Users.\nEvery security group can be assigned to any number of SCIM Groups. A user can do anything which is\nmentioned in the permissions of any security groups of which they are a member through their\nassociated SCIM Groups, as well as any direct [User Permissions](#tag--User-Permissions) assigned to them.\nFor more information on SCIM Users and Groups, see\n[our User Guide](https://documentation.singlewire.com/fusion/en/about-cloud-user-loaders.html).","x-tag-expanded":false},{"name":"Security Groups","description":"A Security Group is a convenient way of organizing a named set of reusable\npermissions which can be assigned to multiple [Users](#tag--Users) in the system.\nThe Security Group acts to establish the relationship between its\n[Security Group Members](#tag--Security-Group-Members) and [Security Group Permissions](#tag--Security-Group-Permissions).\nEach member of the group is implicitly granted all of the associated permissions.\n\nEvery Security Group can be assigned to any number of Users. A user can do anything\nwhich is mentioned in the permissions of any Security Groups of which they are a member,\nas well as any direct [User Permissions](#tag--User-Permissions) assigned to them.\n\nA single Security Group is designated a \"super group\", which means that its members\nimplicitly have every possible permission, and will thus automatically gain new\npermissions as they are developed along with new features in InformaCast Mobile.\nThis group is initially named \"Administrators\" although you are free to rename it\nif you so desire. You cannot, however, delete it, nor change its `superGroup` status.","x-tag-expanded":false},{"name":"Self Service Subscriptions","description":"Self Service Subscriptions connect [Users](#tag--Users) to [Distribution Lists](#tag--Distribution-Lists) they can subscribe to. The difference between Self Service Subscriptions and [User Subscriptions](#tag--User-Subscriptions) is that Self Service Subscriptions are applied to any distribution lists that are marked as subscribable, whereas User Subscriptions can be applied to any Distribution List. While users can manage their own self-service subscriptions, only administrators can assign users to non-subscribable distribution lists.\n\n> ℹ️  Similarly to [User Subscriptions](#tag--User-Subscriptions), it is possible to view the relationship in the opposite direction through the Distribution List Subscriptions resource.","x-tag-expanded":false},{"name":"Session","description":"Provides information about the login session associated with the access token.\n\nThis is particularly useful when your application offers an\ninteractive login interface, because it is the way you can obtain\ninformation about the user who logged in. You will need, for example,\nthe userId value in order to look up or create other resources\nassociated with the user.","x-tag-expanded":false},{"name":"Settings","description":"Settings is the area where you can globally control the preferred timezones and\npreferred locales.","x-tag-expanded":false},{"name":"Site Building External Sources","description":"Site Building External Sources are intended to represent an InformaCast\nsite building being linked to an external entity to facilitate integration\nworkflows, such as Zoom or Kontakt.io.","x-tag-expanded":false},{"name":"Site Building Floor External Sources","description":"Site Building Floor External Sources are intended to represent\nan InformaCast site building floor being linked to an external\nentity to facilitate integration workflows, such as Zoom or Kontakt.io.","x-tag-expanded":false},{"name":"Site Building Floor Zone External Sources","description":"Site Building Floor Zone External Sources are intended to represent\nan InformaCast site building floor zone being linked to an external\nentity to facilitate integration workflows, such as Zoom or Kontakt.io.","x-tag-expanded":false},{"name":"Site Building Floor Zones","description":"Zones provide a way to logically define a location and which recipients will be used when sending a scenario that affects the zone (limit: 500). Site Building Floor Zones are meant to increase granularity of a given\nlocation from where a notification can originate from. Since a site building\nfloor can have multiple zones, pinpointing where a notification is initiated\nfrom can improve response times in the event of an emergency.","x-tag-expanded":false},{"name":"Site Building Floors","description":"Floors provide a way to logically define a location and which recipients will be used when sending a scenario that affects the floor (limit: 100). Site Building Floors are meant to increase granularity of a given location\nfrom where a notification can originate from. Since a site building can have\nmultiple floors, pinpointing where a notification is initiated from can\nimprove response times in the event of an emergency.","x-tag-expanded":false},{"name":"Site Buildings","description":"Buildings provide a way to logically define a location and which recipients will be used when sending a scenario that affects the building (limit: 1000). Site Buildings are meant to increase granularity of a given location from\nwhere a notification can originate from. Since a site can have multiple\nbuildings, pinpointing where a notification is initiated from can improve\nresponse times in the event of an emergency.","x-tag-expanded":false},{"name":"Site External Sources","description":"Site External Sources are intended to represent an InformaCast site\nbeing linked to an external entity to facilitate integration workflows,\nsuch as Zoom or Kontakt.io.","x-tag-expanded":false},{"name":"Site Recipients","description":"Site Recipients keep track of all the recipients that are associated\nthrough [Site Roles](#tag--Site-Roles) with each [Site](#tag--Sites). The data returned here is functionally equivalent to the\ndata returned in the `recipients` object in the [Site](#tag--Sites) endpoint.\n\nNote: Passing `recipients` to the [Site](#tag--Sites) endpoint\nis another mechanism that can be used to manage the site roles and their\nindividual recipients associated with the Site.","x-tag-expanded":false},{"name":"Site Roles","description":"Site roles are meant to be used in tandem with [Sites](#tag--Sites), which help determine recipients of a\nnotification sent by a [Scenarios](#tag--Scenarios). They describe a group of people in an organization, such as\nSecurity or Employees.","x-tag-expanded":false},{"name":"Site Roles Associated Sites","description":"Site roles are used with [sites](#tag--Sites) to help\ndetermine recipients of a notification sent by a [scenario](#tag--Scenarios). Conceptually site roles describe a group of\npeople in an organization, such as Security or Employees. When they\nare associated with a site, the specific people to be reached can be\nconfigured through [site recipients](#tag--Site-Recipients).\n\nThis endpoint provides a way to quickly see which site roles have been\nassociated with sites.","x-tag-expanded":false},{"name":"Site-Mapped Devices","description":"Obtain a listing of all site-mapped devices.","x-tag-expanded":false},{"name":"Sites","description":"Sites provide a way to logically define a location and which recipients will be used when sending a scenario that affects the site (limit: 500). Sites are meant to be used in tandem with [Site Roles](#tag--Site-Roles) to\ndetermine the recipients to be used by a [Scenario](#tag--Scenarios). Sites\nhave recipients associated with each individual site role, which may\ninclude [Areas of Interest](#tag--Areas-of-Interest), [Collaboration Groups](#tag--Collaboration-Groups),\n[Device Groups](#tag--Device-Groups) (if in Fusion mode), [Distribution Lists](#tag--Distribution-Lists), and\n[Users](#tag--Users). Based on the site chosen when a\n[Notification](#tag--Notifications) is sent, recipients will be selected based on\nSite Roles associated with [Scenario Notifications](#tag--Scenario-Notifications).","x-tag-expanded":false},{"name":"Sites Management","description":"Sites Management is a limited API to perform bulk operations on\n[Sites](#tag--Sites), generally used with integrations to handle\nimports.\n\nWhile this API is public, it is relatively volatile and the structure\nof the requests is subject to change.","x-tag-expanded":false},{"name":"Supervisors","description":"Supervisors (limit: 100000)","x-tag-expanded":false},{"name":"System Health Events","description":"Provides access to all alarm events associated with a set of alarms.\n\n> Alarms are a resource which receive and store information on the health of InformaCast.\n\n>Alarm Events are a subresource of alarms. Alarm Events are triggered for each alarm type. The Alarm Event holds onto\ninformation about what status was entered and when it was triggered.","x-tag-expanded":false},{"name":"Text-to-Speech Defaults","description":"This resource allows you to view and change the default configuration for text-to-speech synthesis. Currently, the only configurable option is the default voice, but more options are expected in the future.","x-tag-expanded":false},{"name":"Text-to-Speech Lexicon","description":"The lexicon allows you to substitute a word which is mispronounced by the text-to-speech voice with another word or a variation on its spelling which sounds the way you want it to. This substitution happens at send time, without end-users needing to worry about it. Lexicon substitution happens only for plain text, it is not used with custom SSML content, because the use of SSML is an expert feature that allows you to control every aspect of pronunciation and intonation.","x-tag-expanded":false},{"name":"Text-to-Speech Previews","description":"This resource allows you to access and create previews of what text-to-speech synthesis will sound like for a particular set of parameters (type, content, voice).\n\nThere are two steps involved, first creating the preview, and then using the hash returned from that operation to retrieve the actual audio data.","x-tag-expanded":false},{"name":"Text-to-Speech Voices","description":"This resource allows you to list the voices that are available for text-to-speech synthesis.","x-tag-expanded":false},{"name":"Tracking Event Activities","description":"Tracking events activities are created to monitor the location of individual devices under a tracking event.","x-tag-expanded":false},{"name":"Tracking Event Notifications","description":"Tracking event notifications are a way to tie a message template to a geographical location and trigger that notification when a user initiates tracking near the set geographical location.\n\nWhen a device sends a response to the API indicating that tracking is being activated, notifications will be sent out to:\n\n1. Nearby users. Each notification has a latitude/longitude location associated with it. When a device POSTs a `/tracking-events/*/activities` with `status=started` the API will find the notification closest geographically to the origin of the activity.\n\n2. Users who appear in the notification's `distributionListIds` or `userIds` lists.","x-tag-expanded":false},{"name":"Tracking Events","description":"Tracking Events are parent resources used to associate [Tracking Event Activities](#tag--Tracking-Event-Activities). Tracking Events are created by\nthe service automatically if someone sends a notification and that notification has a confirmation request with at least one option\nresponse flagged to initiate tracking. If a tracking event is created in this manner the `notificationId` will be populated.\n\nTracking Events can also be created by the mobile application if the user hits the 'panic button'. If a tracking event is created in this manner the `deviceId` will be populated.\n\nTracking Events themselves are generally not created via the mobile API. They are created automatically when either of the conditions above occur.","x-tag-expanded":false},{"name":"Tracking Stream Events","description":"","x-tag-expanded":false},{"name":"Tracking Streams","description":"","x-tag-expanded":false},{"name":"Triggers","description":"Triggers allow an external system to be notified when changes are made to a resource within InformaCast Mobile. Each\ntrigger is associated with a particular resource through the same kind of path-based `spec` as is used in\n[Permissions](#tag--User-Permissions). For example, to track changes made to a particular\n[User](#tag--Users) resource, you would create a trigger with the `spec` `/users/{userId}`. To be notified when\nchanges are made to any user (including when new users are created), you would create a trigger with the wildcard\ncharacter `*` standing in for the user `id`: `/users/*`. You can use multiple wildcards in a `spec` path: to be notified\nwhenever any distribution list subscriptions are changed, you could create a trigger with the\n`spec` `/distribution-lists/*/user-subscriptions/*`.\n\nCurrently, triggers can either perform an HTTP `POST` to an arbitrary `url`, or they can send a message to an\n<a href=\"http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/Welcome.html\" target=\"_blank\">Amazon SQS Queue</a>.\nThis is controlled by the trigger&rsquo;s `type` attribute, which can be either `webhook` or `sqs`.\n\n## Trigger Content\n\nWhen a resource monitored by a trigger (one whose path matches the trigger&rsquo;s `spec` attribute) is changed, the\ntrigger will fire, reporting the InformaCast Mobile API action which caused the change.\n\nIf the trigger&rsquo;s `type` is `webhook`, this will cause an HTTP `POST` to the `url` set in the trigger. If the `url`\nattribute includes a username and password (as specified by the standard URL format, i.e.\n`https://{username}:{password}@{host}/{path}`), then the HTTP request posted by the trigger will include an HTTP Basic\nAuth header corresponding to that username and password combination, to allow your web application to only process\ntriggers with proper authentication. Since HTTP Basic Auth is not cryptographically secure on its own, we recommend it\nalways be used in conjunction with SSL encryption (HTTPS).\n\nIf the trigger `type` is `sqs`, then the trigger will post a message to the Amazon SQS queue with the URL that matches\nthe trigger&rsquo;s `url` attribute.\n\n> ⚠️ In order for an SQS trigger post to succeed, the owner of the queue must grant the <code>SendMessage</code>\n> permission to the AWS account <code>262681492495</code>, which is used by InformaCast Mobile for posting trigger messages.</aside>\n\nIn either case, the payload of the trigger (the body of the HTTP `POST` or queue message) will be an `application/json` document with the following attributes:\n\n | Attribute | Type   | Description                                                                                                    |\n|-----------|--------|----------------------------------------------------------------------------------------------------------------|\n| __path__  | String | Identifies the path to the resource that has been changed.                                                     |\n | __type__  | String | Options: `post` `put` `delete`. The HTTP verb (action) which was applied to the resource identified by `path`. |\n | __url__   | String | The full URL at which the modified resource can be found.                                                      |\n\nNo information about the new contents of the resource are reported in trigger body. The receiving application must use\nthe normal InformaCast Mobile API to `GET` the resource in order to see its new contents. Note that the application must\nuse an access token with sufficient permissions to access the resource in order to do that. Of course, if `type` was\n`delete` then the specified resource has been deleted and no longer exists.","x-tag-expanded":false},{"name":"Update a Tracking Stream's Location","description":"","x-tag-expanded":false},{"name":"User Devices","description":"InformaCast [Users](#tag--Users) may have up to five mobile devices registered to receive [Notifications](#tag--Notifications). The process of registering (POST to user devices) such a device allows the app running on the device to tell the API that the device is associated with the logged-in user, and to provide the platform-specific identifiers needed to send push notifications to that device. Currently, InformaCast supports Apple’s APNS, Google’s GCM, and SMS for push notifications.","x-tag-expanded":false},{"name":"User End Tracking Stream","description":"","x-tag-expanded":false},{"name":"User Facilities","description":"Access and manage which [Facilities](#tag--Facilities) belong to which [Users](#tag--Users).\nThe inverse of this endpoint is [Facility Users](#tag--Facility-Users).","x-tag-expanded":false},{"name":"User Incidents","description":"","x-tag-expanded":false},{"name":"User Locations","description":"InformaCast Mobile [Users](#tag--Users) may store up to three locations, and can then be searched for by queries based on those locations. Location-based queries use [GeoJSON Linear Rings](https://geojson.org/geojson-spec.html#linestring). For example, to find all users with locations in the polygon `[[0,0],[-90,0],[-90,45],[0,43],[0,0]]` you would append the URL-encoded version of that polygon after `location.polygon:` and use it as the `q` (search) parameter of a `GET` request to the [Users](#tag--Users) resource.","x-tag-expanded":false},{"name":"User Notification Activities","description":"The user notification activities resource provides a mechanism for tracking and reviewing interactions a [User](#tag--Users) has had with a [Notification](#tag--Notifications), such as marking it read or unread, or responding to an associated [Confirmation Request](#tag--Confirmation-Requests).","x-tag-expanded":false},{"name":"User Notifications","description":"This resource provides a view of all [Notifications](#tag--Notifications)\nthat were sent to a particular [User](#tag--Users). The user\nmay never have viewed the notification, but it was sent to a\ndistribution list that the user was subscribed to at the time, or some\nother resource that included them.\n\nThe Notification resource may include sub-resources which contain\naudio, image, and [Activities](#tag--Notification-Activities). Activities track how the User has interacted with the\nNotification, such as marking it read, responding to a [Confirmation Request](#tag--Confirmation-Requests), etc.","x-tag-expanded":false},{"name":"User Permissions","description":"Permissions are required to perform any action with the InformaCast\nMobile API. User Permissions are a direct assignment of a permission\nto a specific [User](#tag--Users). These are often implicitly granted by\nthe system, for example, to allow a user to view a notification that\nthey sent, even if they lack the ability to see other notifications.\nManual assignment of permissions is usually done through\n[Security Groups](#tag--Security-Groups), which provide a way to group permissions\ninto a named, logical collection, which can then be tied to users.\n\nWhen validating an action that a user is trying to perform through the\nAPI, the User Permissions assigned directly to the user (through the\naccess token which accompanies all API requests) are combined with any\nthat come from security groups to which the user belongs. Each\npermission is made up of two attributes: the `spec` which identifies\nthe resource being controlled, and the `verb` which identifies the\naction (HTTP method) being permitted. For example, a permission\ngranting the ability to read a particular [User](#users) resource\nwould use the `spec` `/users/{userId}` and a `verb` of `get`. To grant\nthe ability to read every user, the `spec` would use the `*` wildcard\ncharacter rather than a specific user `id`. This same pattern can also\nbe applied with the verbs `post` (create), `put` (update), and\n`delete`. In the case of `post` permissions, a trailing `/*` is not\nrequired to give \"create\" access to a specific resource, because the\n`id` value is not assigned until after the post action is in progress.\n\nWhen [Facilities](#tag--Facilities) are in use, Users are assigned to facilities,\ngranting them the ability to act in those facilities. However, users may only\nacquire permissions in non-Global facilities through [Security Groups](#tag--Security-Groups).\nWhen a user is moved from Global to a non-Global facility, their user permissions,\nand their Global security groups, will be removed.\n\n## Implicit User Permissions\n\nAs noted above, in addition to explicitly granted permissions, all\nusers are implicitly and automatically granted a set of permissions to\nenable basic use of the system. These implicit permissions are not\nstored, and will not show up when listing user permissions. They are:\n\n| Verb   | Spec                                           |\n|--------|------------------------------------------------|\n| get    | /users/_{userId}_/notifications/*              |\n| delete | /users/_{userId}_/notifications/*              |\n| get    | /session/*                                     |\n| get    | /session                                       |\n| delete | /session/*                                     |\n| post   | /users/_{userId}_/notifications/*/activities   |\n| get    | /users/_{userId}_/notifications/*/activities/* |\n| get    | /users/_{userId}_/notifications/*/image        |\n| get    | /users/_{userId}_/notifications/*/audio        |\n| get    | /users/_{userId}_/subscriptions/*              |\n| get    | /users/_{userId}_/devices/*                    |\n| delete | /users/_{userId}_/devices/*                    |\n| put    | /users/_{userId}_/devices/*                    |\n| post   | /users/_{userId}_/devices                      |\n| get    | /users/_{userId}_/security-groups/*            |\n| get    | /users/_{userId}_/user-permissions/*           |\n| get    | /users/_{userId}_/locations/*                  |\n| put    | /users/_{userId}_/locations/*                  |\n| delete | /users/_{userId}_/locations/*                  |\n| post   | /users/_{userId}_/locations                    |","x-tag-expanded":false},{"name":"User Profile","description":"The User Profile endpoint allows for greater customization of self-registered users in Self Service. This endpoint allows the User to change their name, preferred name, local timezone, and preferred language.\n\n> ℹ️ Preferred name, local timezone, and preferred language values are only retrievable through this endpoint.\n\n> ℹ️ Passing name through to the endpoint changes the name of the user.","x-tag-expanded":false},{"name":"User Rostering (Roll Call) Incidents","description":"Roll Call Incidents for which the requesting user is a Roll Call administrator.\n\n> ℹ️ The name of the feature is Roll Call, though API resources relating to it are referred to as `rostering`.","x-tag-expanded":false},{"name":"User Rostering (Roll Call) Members","description":"> ⚠️ The name of the feature is Roll Call, though API resources relating to it are referred to as rostering.\n\nUser Rostering members are the users who are in the list for a particular Rostering Incident. The Rostering members will have a status and location assigned, which will be updated by Rostering administrators during the event.\n\nOnly users who are Rostering administrators for the specified Incident will be able to retrieve Rostering member data through this API.","x-tag-expanded":false},{"name":"User Rostering (Roll Call) My List","description":"> ⚠️ The name of the feature is Roll Call, though API resources relating to it are referred to as `rostering`.\n\nRostering My List is specific to each individual Rostering administrator. It is the list of all Rostering members whose status and/or location have been updated by that particular Rostering administrator. The user making the request determines the list of Rostering members returned.\n\nOnly users who are Rostering administrators for the specified Incident will be able to retrieve Rostering My List data through this API.","x-tag-expanded":false},{"name":"User Rostering (Roll Call) Report","description":"> ⚠️ The name of the feature is Roll Call, though API resources relating to it are referred to as `rostering`.\n\nThe Incident Rostering report contains the number of users currently assigned to each status in the Rostering event. This is used to help incident administrators with directing the incident response.\n\nOnly users who are Rostering administrators for the specified Incident will be able to retrieve Rostering report data through this API.","x-tag-expanded":false},{"name":"User Security Groups","description":"A [User](#tag--Users) may belong to any number of\n[Security Groups](#tag--Security-Groups), which are a convenient way of\nassigning a logical set of permissions to the User. Other than\nautomatically-assigned [direct user permissions](#tag--User-Permissions), which grant users access to resources they create\nthemselves, placing Users into Security Groups is the primary method\nof granting users the ability to perform actions in the system. Each\npermission assigned to the associated Security Group will be\nimplicitly granted to the User.","x-tag-expanded":false},{"name":"User Sent Notifications","description":"","x-tag-expanded":false},{"name":"User Subscriptions","description":"User Subscriptions connect [Users](#tag--Users) to [Distribution Lists](#tag--Distribution-Lists). When a Distribution List is included in the recipients of a Notification, all Users who are subscribed to that Distribution List will receive the notification, on all of their registered Devices.\n\n> ℹ️ It is also possible to view the relationship in the opposite direction, through the Distribution List Subscriptions resource.","x-tag-expanded":false},{"name":"User Tokens","description":"Authentication tokens are sent along with every request to the InformaCast Mobile API to associate the request with a particular [user](#tag--Users), and thereby control access to API resources and actions, as detailed in the Authentication section.\n\nThe User Tokens resource manages the tokens which grant access to InformaCast Mobile. Tokens are created or refreshed automatically when users log in through the normal authentication mechanism. Your client code may also manipulate this resource directly if it needs to create application tokens to distribute to components of itself (for example, tokens for headless, unattended operation), or in order to revoke a user’s access.","x-tag-expanded":false},{"name":"User Tracking Event Activities","description":"The user tracking event activities resource returns information about [Tracking Event Activities](#tag--Tracking-Event-Activities) associated with a [Tracking Event](#tag--Tracking-Events) that includes the given user","x-tag-expanded":false},{"name":"User Tracking Events","description":"The user tracking events resource returns information about [Tracking Events](#tag--Tracking-Events) associated with a user","x-tag-expanded":false},{"name":"User Tracking Stream Events","description":"","x-tag-expanded":false},{"name":"User Tracking Streams","description":"","x-tag-expanded":false},{"name":"User Update a Tracking Stream's Location","description":"","x-tag-expanded":false},{"name":"Users","description":"Users serve two primary roles within InformaCast Mobile. They are both the recipients of [Notifications](#tag--Notifications) (through their [Distribution List Subscriptions](#tag--Distribution-List-User-Subscriptions) and registration of [Devices](#tag--User-Devices)), and the agents of change, by logging in and obtaining access tokens, which grant access to features of the API through the user’s associations with [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups).","x-tag-expanded":false},{"name":"Wearables Installation Report Zones","description":"Wearables Installation Report Zones","x-tag-expanded":false},{"name":"Wearables Installation Reports","description":"Wearables Installation Reports","x-tag-expanded":false},{"name":"Webex Calling Devices","description":"Webex Calling Devices represent Webex Calling phones imported into InformaCast which are able to initiate scenarios.\n\nThese devices are assigned to a site and building, and optionally a floor and room. If a Webex Calling Device initiates a scenario, the location it belongs to is used as the scenario location.","x-tag-expanded":false},{"name":"Webex Location Bulk Update Rules","description":"","x-tag-expanded":false},{"name":"Webex Location Rules","description":"Webex Location Rules are a subresource of Webex Locations that determine the\nInformaCast location of devices associated with its parent location.","x-tag-expanded":false},{"name":"Webex Locations","description":"Webex Locations are imported using the Webex Calling integration. They are linked to Webex Calling Devices\nand can have rules that determine their linked devices' locations in InformaCast.","x-tag-expanded":false},{"name":"Webex Teams Integration API","description":"To allow you to programmatically add the InformaCast bot to existing Cisco Webex Teams spaces, the Webex Teams extension exposes some API endpoints through its proxy interface, which can be accessed through the InformaCast Mobile REST API.","x-tag-expanded":false}],"paths":{"/v1/activation-groups":{"get":{"summary":"List all activation groups","operationId":"getActivationGroups","parameters":[{"name":"includeDeviceCounts","in":"query","description":"Include the counts of matching devices in the response","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of activation group","schema":{"type":"string","maximum":10000},"example":"Primary"},{"name":"priority","in":"query","description":"Unique ranking specifies the order in which activation groups are evaluated (lower number = higher priority). If a device falls in more than one group, the lower numbered priority wins.","schema":{"type":"integer"},"example":1},{"name":"q","in":"query","description":"Perform a term (stemming) search on activation group names","schema":{"type":"string"},"example":"Prim"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_activation-groups-response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all Activation Groups available to the current user. (The [User Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. Controlling access to activation groups allows administrators to decide who may configure devices for fusion endpoints)","tags":["Activation Groups"]},"post":{"summary":"Create an activation group","operationId":"createActivationGroup","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/activation-groups.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_activation-groups-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'additionIds': [\n        'CiscoPhone-388382:SEP001D45E95D12'\n    ],\n    'endpointIds': [\n        '28a92caf-3d37-11e6-834a-431f5104df9d'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-388382:SEP001D45E95D13'\n    ],\n    'filterType': 'OR',\n    'filters': [{\n            'attribute': 'Description',\n            'caseSensitive': false,\n            'comparison': 'CONTAINS',\n            'complement': false,\n            'value': 'John'\n        }],\n    'name': 'Primary',\n    'priority': 1\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'additionIds': [\n        'CiscoPhone-388382:SEP001D45E95D12'\n    ],\n    'endpointIds': [\n        '28a92caf-3d37-11e6-834a-431f5104df9d'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-388382:SEP001D45E95D13'\n    ],\n    'filterType': 'OR',\n    'filters': [{\n            'attribute': 'Description',\n            'caseSensitive': False,\n            'comparison': 'CONTAINS',\n            'complement': False,\n            'value': 'John'\n        }],\n    'name': 'Primary',\n    'priority': 1\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"additionIds\": [\n             \"CiscoPhone-388382:SEP001D45E95D12\"\n         ],\n         \"endpointIds\": [\n             \"28a92caf-3d37-11e6-834a-431f5104df9d\"\n         ],\n         \"exclusionIds\": [\n             \"CiscoPhone-388382:SEP001D45E95D13\"\n         ],\n         \"filterType\": \"OR\",\n         \"filters\": [{\n                 \"attribute\": \"Description\",\n                 \"caseSensitive\": false,\n                 \"comparison\": \"CONTAINS\",\n                 \"complement\": false,\n                 \"value\": \"John\"\n             }],\n         \"name\": \"Primary\",\n         \"priority\": 1}'\n"}],"description":"Creates a new Activation Group. In order to be useful, the filters or additions should match at least one [Device](#tag--User-Devices).","tags":["Activation Groups"]}},"/v1/activation-groups/{activationGroupId}":{"get":{"summary":"Get an activation group","operationId":"getActivationGroup","parameters":[{"name":"activationGroupId","in":"path","description":"The activation group id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDeviceCounts","in":"query","description":"Include the counts of matching devices in the response","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_activation-groups-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Activation Group by its `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Activation Groups"]},"put":{"summary":"Update an activation group","operationId":"updateActivationGroup","parameters":[{"name":"activationGroupId","in":"path","description":"The activation group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/activation-groups.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_activation-groups-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'additionIds': [\n        'CiscoPhone-388382:SEP001D45E95D12'\n    ],\n    'endpointIds': [\n        '28a92caf-3d37-11e6-834a-431f5104df9d'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-388382:SEP001D45E95D13'\n    ],\n    'filterType': 'OR',\n    'filters': [{\n            'attribute': 'Description',\n            'caseSensitive': false,\n            'comparison': 'CONTAINS',\n            'complement': false,\n            'value': 'John'\n        }],\n    'name': 'Primary',\n    'priority': 1\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'additionIds': [\n        'CiscoPhone-388382:SEP001D45E95D12'\n    ],\n    'endpointIds': [\n        '28a92caf-3d37-11e6-834a-431f5104df9d'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-388382:SEP001D45E95D13'\n    ],\n    'filterType': 'OR',\n    'filters': [{\n            'attribute': 'Description',\n            'caseSensitive': False,\n            'comparison': 'CONTAINS',\n            'complement': False,\n            'value': 'John'\n        }],\n    'name': 'Primary',\n    'priority': 1\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"additionIds\": [\n             \"CiscoPhone-388382:SEP001D45E95D12\"\n         ],\n         \"endpointIds\": [\n             \"28a92caf-3d37-11e6-834a-431f5104df9d\"\n         ],\n         \"exclusionIds\": [\n             \"CiscoPhone-388382:SEP001D45E95D13\"\n         ],\n         \"filterType\": \"OR\",\n         \"filters\": [{\n                 \"attribute\": \"Description\",\n                 \"caseSensitive\": false,\n                 \"comparison\": \"CONTAINS\",\n                 \"complement\": false,\n                 \"value\": \"John\"\n             }],\n         \"name\": \"Primary\",\n         \"priority\": 1}'\n"}],"description":"Modifies the details of the Activation Group.","tags":["Activation Groups"]},"delete":{"summary":"Delete an activation group","operationId":"deleteActivationGroup","parameters":[{"name":"activationGroupId","in":"path","description":"The activation group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/activation-groups/{activationGroupId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Activation Groups"]}},"/v1/active-callaware-calls":{"get":{"summary":"List all active callaware calls","operationId":"getActiveCallawareCalls","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"startTime__gt","in":"query","description":"Filter results where start-time is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"startTime__gte","in":"query","description":"Filter results where start-time is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"startTime__lt","in":"query","description":"Filter results where start-time is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"startTime__lte","in":"query","description":"Filter results where start-time is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/active-callaware-calls.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/active-callaware-calls\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/active-callaware-calls\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/active-callaware-calls\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["CallAware"]}},"/v1/alarms":{"get":{"summary":"List all alarms","operationId":"getAlarms","parameters":[{"name":"includeActions","in":"query","description":"If true, include the Alarm Action ids associated with the alarm.","schema":{"type":"boolean"}},{"name":"includeAdministrationDistributionList","in":"query","description":"If true, include the provider's administration distribution list associated with the alarm.","schema":{"type":"boolean"}},{"name":"includeAlarmThresholds","in":"query","description":"If true, include the list of Alarm Thresholds associated with the alarm; only available for the speaker registration alarm","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/alarms.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all alarms available to the current user. (The [User Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit\nthe resources returned.)","tags":["Alarms"]}},"/v1/alarms/{alarmId}":{"get":{"summary":"Get an alarm","operationId":"getAlarm","parameters":[{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeActions","in":"query","description":"If true, include the Alarm Action ids associated with the alarm.","schema":{"type":"boolean"}},{"name":"includeAdministrationDistributionList","in":"query","description":"If true, include the provider's administration distribution list associated with the alarm.","schema":{"type":"boolean"}},{"name":"includeAlarmThresholds","in":"query","description":"If true, include the list of Alarm Thresholds associated with the alarm; only available for the speaker registration alarm","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/alarms.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single alarm by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Alarms"]},"put":{"summary":"Update an alarm","operationId":"updateAlarm","parameters":[{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/alarms.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/alarms.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'alarmThresholds': [{\n            'alarmId': 'e11d2245-b583-11ee-9321-adaccf0833ab',\n            'endpointId': 'e0fe2894-b583-11ee-9321-e5994a0bea95',\n            'id': 'e081f3b3-b583-11ee-9321-33a90221ee92',\n            'threshold': 2\n        }],\n    'muted': false\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'alarmThresholds': [{\n            'alarmId': 'e11d2245-b583-11ee-9321-adaccf0833ab',\n            'endpointId': 'e0fe2894-b583-11ee-9321-e5994a0bea95',\n            'id': 'e081f3b3-b583-11ee-9321-33a90221ee92',\n            'threshold': 2\n        }],\n    'muted': False\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"alarmThresholds\": [{\n                 \"alarmId\": \"e11d2245-b583-11ee-9321-adaccf0833ab\",\n                 \"endpointId\": \"e0fe2894-b583-11ee-9321-e5994a0bea95\",\n                 \"id\": \"e081f3b3-b583-11ee-9321-33a90221ee92\",\n                 \"threshold\": 2\n             }],\n         \"muted\": false}'\n"}],"description":"Updates an existing alarm. Note that only muted and alarmThresholds may be updated as part of an update.","tags":["Alarms"]}},"/v1/alarms/{alarmId}/actions":{"get":{"summary":"List all alarm actions","operationId":"getAlarmActions","parameters":[{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/alarms_actions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all alarm actions of a specific alarm available to the current user.","tags":["Alarm Actions"]},"post":{"summary":"Create an alarm action","operationId":"createAlarmAction","parameters":[{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/alarms_actions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/alarms_actions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field triggerOnStatus is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'triggerOnStatus': 'ACTIVE',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'triggerOnStatus': 'ACTIVE',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"triggerOnStatus\": \"ACTIVE\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Create an alarm action.","tags":["Alarm Actions"]}},"/v1/alarms/{alarmId}/actions/{actionId}":{"get":{"summary":"Get an alarm action","operationId":"getAlarmAction","parameters":[{"name":"actionId","in":"path","description":"The action id path parameter","required":true,"schema":{"type":"string"}},{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/alarms_actions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single alarm action by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Alarm Actions"]},"put":{"summary":"Update an alarm action","operationId":"updateAlarmAction","parameters":[{"name":"actionId","in":"path","description":"The action id path parameter","required":true,"schema":{"type":"string"}},{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/alarms_actions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/alarms_actions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field triggerOnStatus is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'triggerOnStatus': 'ACTIVE',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'triggerOnStatus': 'ACTIVE',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"triggerOnStatus\": \"ACTIVE\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Update an alarm action.","tags":["Alarm Actions"]},"delete":{"summary":"Delete an alarm action","operationId":"deleteAlarmAction","parameters":[{"name":"actionId","in":"path","description":"The action id path parameter","required":true,"schema":{"type":"string"}},{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/actions/{actionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Alarm Actions"]}},"/v1/alarms/{alarmId}/events":{"get":{"summary":"List all alarm events","operationId":"getAlarmEvents","parameters":[{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/alarms_events.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all alarm events of a specific alarm available to the current user.","tags":["Alarm Events"]},"post":{"summary":"Create an alarm event","operationId":"createAlarmEvent","parameters":[{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/alarms_events.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/alarms_events.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field createdAt is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'status': 'OK'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'status': 'OK'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"status\": \"OK\"}'\n"}],"description":"Create an alarm event.\n\n__NOTE__: The endpoint will only accept a manual POST if the payload meets the following criteria:\n\n* Status is `OK`\n* Alarm ID specified is the Scenario Device Resolution Failed Alarm: `e91f7c07-c9cc-11ee-9e02-51949edf0286`","tags":["Alarm Events"]}},"/v1/alarms/{alarmId}/events/{eventId}":{"get":{"summary":"Get an alarm event","operationId":"getAlarmEvent","parameters":[{"name":"alarmId","in":"path","description":"The alarm id path parameter","required":true,"schema":{"type":"string"}},{"name":"eventId","in":"path","description":"The event id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/alarms_events.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events/{eventId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events/{eventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/alarms/{alarmId}/events/{eventId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single alarm event by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Alarm Events"]}},"/v1/api-devices":{"get":{"summary":"List all api devices","operationId":"getApiDevices","parameters":[{"name":"buildingId","in":"query","description":"The ID of the Building the API Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"externalId","in":"query","description":"An arbitrary external identifier. Use a made-up name or a globally unique identifier (GUID) that you create. Avoid using IP or MAC addresses to preserve your users' privacy.","schema":{"type":"string","maximum":10000},"example":"vape-123"},{"name":"facilityId","in":"query","description":"The ID of the facility this API Device belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"The ID of the Floor the API Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this API Device belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the API Device","schema":{"type":"string","maximum":140},"example":"Vape Detector"},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the API Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list API Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"$ref":"#/components/schemas/_api-devices.pinned-location"}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"q","in":"query","description":"Perform a term (stemming) search on API device names and external IDs","schema":{"type":"string"},"example":"vape detector"},{"name":"siteId","in":"query","description":"The ID of the Site the API Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"zoneId","in":"query","description":"The ID of the Zone the API Device is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/api-devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all API Devices available to the current user (the [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through\nthe user attached to the access token, may limit the resources\nreturned).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["API Devices"]},"post":{"summary":"Create an api device","operationId":"createApiDevice","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/api-devices.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api-devices.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'externalId': 'vape-123',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'Vape Detector',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'externalId': 'vape-123',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'Vape Detector',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"externalId\": \"vape-123\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"name\": \"Vape Detector\",\n         \"pinnedLocation\": {\n             \"coordinates\": [\n                 -89.50275,\n                 43.114705\n             ],\n             \"type\": \"Point\"\n         },\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["API Devices"]}},"/v1/api-devices/{apiDeviceId}":{"get":{"summary":"Get an api device","operationId":"getApiDevice","parameters":[{"name":"apiDeviceId","in":"path","description":"The api device id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this API Device belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api-devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single API Device by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["API Devices"]},"put":{"summary":"Update an api device","operationId":"updateApiDevice","parameters":[{"name":"apiDeviceId","in":"path","description":"The api device id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/api-devices.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api-devices.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'externalId': 'vape-123',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'Vape Detector',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'externalId': 'vape-123',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'Vape Detector',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"externalId\": \"vape-123\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"name\": \"Vape Detector\",\n         \"pinnedLocation\": {\n             \"coordinates\": [\n                 -89.50275,\n                 43.114705\n             ],\n             \"type\": \"Point\"\n         },\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["API Devices"]},"delete":{"summary":"Delete an api device","operationId":"deleteApiDevice","parameters":[{"name":"apiDeviceId","in":"path","description":"The api device id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/api-devices/{apiDeviceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["API Devices"]}},"/v1/applications":{"get":{"summary":"List all applications","operationId":"getApplications","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the icon file in the response when available","schema":{"type":"boolean"}},{"name":"includeInstallationStatus","in":"query","description":"When set to true, the response will include the installation id attribute whose value will either be a uuid or null depending on whether or not the application is installed","schema":{"type":"boolean"}},{"name":"includeSecrets","in":"query","description":"Whether to include secret information associated with the application","schema":{"type":"boolean"}},{"name":"isInstalled","in":"query","description":"Filter list results by whether or not the application is installed","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_applications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all available application declarations.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Applications"]},"post":{"summary":"Create an application","operationId":"createApplication","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/applications.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_applications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'applicationInfo': {\n        'configurationUrl': 'https://smoke-co-safety.com/config',\n        'documentationUrl': 'https://smoke-co-safety.com/user-guide',\n        'longDescription': 'Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected',\n        'privacyPolicyUrl': 'https://smoke-co-safety.com/policy',\n        'shortDescription': 'Triggers scenarios when smoke or CO is detected',\n        'supportEmail': 'support@smoke-co-safety.com',\n        'supportUrl': 'https://smoke-co-safety.com/support',\n        'termsOfUseUrl': 'https://smoke-co-safety.com/terms-of-use'\n    },\n    'deauthorizationUri': 'https://smoke-co-safety.com/unauth',\n    'displayName': 'Smoke and CO Monitoring',\n    'forMarketplace': true,\n    'heroImageId': '3ff898d4-1914-11ef-9d20-57fab6ce7cd6',\n    'name': 'Smoke and CO Monitoring',\n    'primaryContact': {\n        'email': 'john.smith@smoke-co-safety.com',\n        'name': 'John Smith',\n        'phoneNumber': '(555) 123-4567'\n    },\n    'publisherInfo': {\n        'companyName': 'Smoke and CO Safety'\n    },\n    'redirectUris': [\n        'https://smoke-co-safety.com/auth'\n    ],\n    'scopes': [\n        'urn:singlewire:message-templates:read',\n        'urn:singlewire:session:read'\n    ],\n    'status': 'DRAFT',\n    'testingDeauthorizationUri': 'https://smoke-co-safety.com/testing-unauth',\n    'testingRedirectUris': [\n        'https://smoke-co-safety.com/testing-auth'\n    ],\n    'type': 'GENERIC_CLIENT',\n    'usePkce': false,\n    'version': '0.0.1'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'applicationInfo': {\n        'configurationUrl': 'https://smoke-co-safety.com/config',\n        'documentationUrl': 'https://smoke-co-safety.com/user-guide',\n        'longDescription': 'Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected',\n        'privacyPolicyUrl': 'https://smoke-co-safety.com/policy',\n        'shortDescription': 'Triggers scenarios when smoke or CO is detected',\n        'supportEmail': 'support@smoke-co-safety.com',\n        'supportUrl': 'https://smoke-co-safety.com/support',\n        'termsOfUseUrl': 'https://smoke-co-safety.com/terms-of-use'\n    },\n    'deauthorizationUri': 'https://smoke-co-safety.com/unauth',\n    'displayName': 'Smoke and CO Monitoring',\n    'forMarketplace': True,\n    'heroImageId': '3ff898d4-1914-11ef-9d20-57fab6ce7cd6',\n    'name': 'Smoke and CO Monitoring',\n    'primaryContact': {\n        'email': 'john.smith@smoke-co-safety.com',\n        'name': 'John Smith',\n        'phoneNumber': '(555) 123-4567'\n    },\n    'publisherInfo': {\n        'companyName': 'Smoke and CO Safety'\n    },\n    'redirectUris': [\n        'https://smoke-co-safety.com/auth'\n    ],\n    'scopes': [\n        'urn:singlewire:message-templates:read',\n        'urn:singlewire:session:read'\n    ],\n    'status': 'DRAFT',\n    'testingDeauthorizationUri': 'https://smoke-co-safety.com/testing-unauth',\n    'testingRedirectUris': [\n        'https://smoke-co-safety.com/testing-auth'\n    ],\n    'type': 'GENERIC_CLIENT',\n    'usePkce': False,\n    'version': '0.0.1'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"applicationInfo\": {\n             \"configurationUrl\": \"https://smoke-co-safety.com/config\",\n             \"documentationUrl\": \"https://smoke-co-safety.com/user-guide\",\n             \"longDescription\": \"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected\",\n             \"privacyPolicyUrl\": \"https://smoke-co-safety.com/policy\",\n             \"shortDescription\": \"Triggers scenarios when smoke or CO is detected\",\n             \"supportEmail\": \"support@smoke-co-safety.com\",\n             \"supportUrl\": \"https://smoke-co-safety.com/support\",\n             \"termsOfUseUrl\": \"https://smoke-co-safety.com/terms-of-use\"\n         },\n         \"deauthorizationUri\": \"https://smoke-co-safety.com/unauth\",\n         \"displayName\": \"Smoke and CO Monitoring\",\n         \"forMarketplace\": true,\n         \"heroImageId\": \"3ff898d4-1914-11ef-9d20-57fab6ce7cd6\",\n         \"name\": \"Smoke and CO Monitoring\",\n         \"primaryContact\": {\n             \"email\": \"john.smith@smoke-co-safety.com\",\n             \"name\": \"John Smith\",\n             \"phoneNumber\": \"(555) 123-4567\"\n         },\n         \"publisherInfo\": {\n             \"companyName\": \"Smoke and CO Safety\"\n         },\n         \"redirectUris\": [\n             \"https://smoke-co-safety.com/auth\"\n         ],\n         \"scopes\": [\n             \"urn:singlewire:message-templates:read\",\n             \"urn:singlewire:session:read\"\n         ],\n         \"status\": \"DRAFT\",\n         \"testingDeauthorizationUri\": \"https://smoke-co-safety.com/testing-unauth\",\n         \"testingRedirectUris\": [\n             \"https://smoke-co-safety.com/testing-auth\"\n         ],\n         \"type\": \"GENERIC_CLIENT\",\n         \"usePkce\": false,\n         \"version\": \"0.0.1\"}'\n"}],"description":"Creates a new application declaration.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Applications"]}},"/v1/applications/{applicationId}":{"get":{"summary":"Get an application","operationId":"getApplication","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the icon file in the response when available","schema":{"type":"boolean"}},{"name":"includeInstallationStatus","in":"query","description":"When set to true, the response will include the installation id attribute whose value will either be a uuid or null depending on whether or not the application is installed","schema":{"type":"boolean"}},{"name":"includeSecrets","in":"query","description":"Whether to include secret information associated with the application","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_applications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific application declaration by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Applications"]},"put":{"summary":"Update an application","operationId":"updateApplication","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/applications.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_applications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'applicationInfo': {\n        'configurationUrl': 'https://smoke-co-safety.com/config',\n        'documentationUrl': 'https://smoke-co-safety.com/user-guide',\n        'longDescription': 'Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected',\n        'privacyPolicyUrl': 'https://smoke-co-safety.com/policy',\n        'shortDescription': 'Triggers scenarios when smoke or CO is detected',\n        'supportEmail': 'support@smoke-co-safety.com',\n        'supportUrl': 'https://smoke-co-safety.com/support',\n        'termsOfUseUrl': 'https://smoke-co-safety.com/terms-of-use'\n    },\n    'deauthorizationUri': 'https://smoke-co-safety.com/unauth',\n    'displayName': 'Smoke and CO Monitoring',\n    'forMarketplace': true,\n    'heroImageId': '3ff898d4-1914-11ef-9d20-57fab6ce7cd6',\n    'name': 'Smoke and CO Monitoring',\n    'primaryContact': {\n        'email': 'john.smith@smoke-co-safety.com',\n        'name': 'John Smith',\n        'phoneNumber': '(555) 123-4567'\n    },\n    'publisherInfo': {\n        'companyName': 'Smoke and CO Safety'\n    },\n    'redirectUris': [\n        'https://smoke-co-safety.com/auth'\n    ],\n    'scopes': [\n        'urn:singlewire:message-templates:read',\n        'urn:singlewire:session:read'\n    ],\n    'status': 'DRAFT',\n    'testingDeauthorizationUri': 'https://smoke-co-safety.com/testing-unauth',\n    'testingRedirectUris': [\n        'https://smoke-co-safety.com/testing-auth'\n    ],\n    'type': 'GENERIC_CLIENT',\n    'usePkce': false,\n    'version': '0.0.1'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'applicationInfo': {\n        'configurationUrl': 'https://smoke-co-safety.com/config',\n        'documentationUrl': 'https://smoke-co-safety.com/user-guide',\n        'longDescription': 'Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected',\n        'privacyPolicyUrl': 'https://smoke-co-safety.com/policy',\n        'shortDescription': 'Triggers scenarios when smoke or CO is detected',\n        'supportEmail': 'support@smoke-co-safety.com',\n        'supportUrl': 'https://smoke-co-safety.com/support',\n        'termsOfUseUrl': 'https://smoke-co-safety.com/terms-of-use'\n    },\n    'deauthorizationUri': 'https://smoke-co-safety.com/unauth',\n    'displayName': 'Smoke and CO Monitoring',\n    'forMarketplace': True,\n    'heroImageId': '3ff898d4-1914-11ef-9d20-57fab6ce7cd6',\n    'name': 'Smoke and CO Monitoring',\n    'primaryContact': {\n        'email': 'john.smith@smoke-co-safety.com',\n        'name': 'John Smith',\n        'phoneNumber': '(555) 123-4567'\n    },\n    'publisherInfo': {\n        'companyName': 'Smoke and CO Safety'\n    },\n    'redirectUris': [\n        'https://smoke-co-safety.com/auth'\n    ],\n    'scopes': [\n        'urn:singlewire:message-templates:read',\n        'urn:singlewire:session:read'\n    ],\n    'status': 'DRAFT',\n    'testingDeauthorizationUri': 'https://smoke-co-safety.com/testing-unauth',\n    'testingRedirectUris': [\n        'https://smoke-co-safety.com/testing-auth'\n    ],\n    'type': 'GENERIC_CLIENT',\n    'usePkce': False,\n    'version': '0.0.1'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"applicationInfo\": {\n             \"configurationUrl\": \"https://smoke-co-safety.com/config\",\n             \"documentationUrl\": \"https://smoke-co-safety.com/user-guide\",\n             \"longDescription\": \"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected\",\n             \"privacyPolicyUrl\": \"https://smoke-co-safety.com/policy\",\n             \"shortDescription\": \"Triggers scenarios when smoke or CO is detected\",\n             \"supportEmail\": \"support@smoke-co-safety.com\",\n             \"supportUrl\": \"https://smoke-co-safety.com/support\",\n             \"termsOfUseUrl\": \"https://smoke-co-safety.com/terms-of-use\"\n         },\n         \"deauthorizationUri\": \"https://smoke-co-safety.com/unauth\",\n         \"displayName\": \"Smoke and CO Monitoring\",\n         \"forMarketplace\": true,\n         \"heroImageId\": \"3ff898d4-1914-11ef-9d20-57fab6ce7cd6\",\n         \"name\": \"Smoke and CO Monitoring\",\n         \"primaryContact\": {\n             \"email\": \"john.smith@smoke-co-safety.com\",\n             \"name\": \"John Smith\",\n             \"phoneNumber\": \"(555) 123-4567\"\n         },\n         \"publisherInfo\": {\n             \"companyName\": \"Smoke and CO Safety\"\n         },\n         \"redirectUris\": [\n             \"https://smoke-co-safety.com/auth\"\n         ],\n         \"scopes\": [\n             \"urn:singlewire:message-templates:read\",\n             \"urn:singlewire:session:read\"\n         ],\n         \"status\": \"DRAFT\",\n         \"testingDeauthorizationUri\": \"https://smoke-co-safety.com/testing-unauth\",\n         \"testingRedirectUris\": [\n             \"https://smoke-co-safety.com/testing-auth\"\n         ],\n         \"type\": \"GENERIC_CLIENT\",\n         \"usePkce\": false,\n         \"version\": \"0.0.1\"}'\n"}],"description":"Updates a specific application declaration.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Applications"]},"delete":{"summary":"Delete an application","operationId":"deleteApplication","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Applications"]}},"/v1/applications/{applicationId}/draft":{"post":{"summary":"Create a new draft","operationId":"createApplicationDraft","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/applications_draft.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_applications_draft.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/draft\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/draft\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/draft\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"Creates a new draft of the specified Application. This can only be done for applications whose current `state` is `PUBLISHED`, and for which no other drafts already exist.\nThe draft will start out with all the same information as is present in the application it is being created from, with an incremented version number.\n\nIn order to perform this operation, the user must have both `POST` permission to the `/applications`\nresource and `GET` permission to the Application they wish to make a new draft of.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Applications"]}},"/v1/applications/{applicationId}/screenshots":{"get":{"summary":"List all application screenshots","operationId":"getApplicationScreenshots","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the screenshot file in the response","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_applications_screenshots.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all screen shots available for the specified [application](#tag--Applications).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Screenshots"]},"post":{"summary":"Create an application screenshot","operationId":"createApplicationScreenshot","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/applications_screenshots.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_applications_screenshots.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field screenshot is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"Adds a new screen shot for an [application](#tag--Applications).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Screenshots"]}},"/v1/applications/{applicationId}/screenshots/{screenshotId}":{"get":{"summary":"Get an application screenshot","operationId":"getApplicationScreenshot","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the screenshot file in the response","schema":{"type":"boolean"}},{"name":"screenshotId","in":"path","description":"The screenshot id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_applications_screenshots.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots/{screenshotId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots/{screenshotId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots/{screenshotId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific application screen shot by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Screenshots"]},"delete":{"summary":"Delete an application screenshot","operationId":"deleteApplicationScreenshot","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}},{"name":"screenshotId","in":"path","description":"The screenshot id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots/{screenshotId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots/{screenshotId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/screenshots/{screenshotId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Screenshots"]}},"/v1/applications/{applicationId}/secrets":{"get":{"summary":"List all application secrets","operationId":"getApplicationSecrets","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/applications_secrets.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all secrets of a given application.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Secrets"]},"post":{"summary":"Create an application secret","operationId":"createApplicationSecret","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/applications_secrets.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/applications_secrets.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field expiresAt is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'expiresAt': '1970-01-01T00:00:00.000Z'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'expiresAt': '1970-01-01T00:00:00.000Z'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"expiresAt\": \"1970-01-01T00:00:00.000Z\"}'\n"}],"description":"Creates a new application secret.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Secrets"]}},"/v1/applications/{applicationId}/secrets/{secretId}":{"get":{"summary":"Get an application secret","operationId":"getApplicationSecret","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}},{"name":"secretId","in":"path","description":"The secret id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/applications_secrets.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets/{secretId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets/{secretId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets/{secretId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific secret by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Secrets"]},"delete":{"summary":"Delete an application secret","operationId":"deleteApplicationSecret","parameters":[{"name":"applicationId","in":"path","description":"The application id path parameter","required":true,"schema":{"type":"string"}},{"name":"secretId","in":"path","description":"The secret id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets/{secretId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets/{secretId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/applications/{applicationId}/secrets/{secretId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Application Secrets"]}},"/v1/areas-of-interest":{"get":{"summary":"List all areas of interest","operationId":"getAreasOfInterests","parameters":[{"name":"boundingBox","in":"query","description":"Return only the Areas of Interest within the bounding box, specified \"longitude,latitude.longitude,latitude\" from Southwest to Northeast","schema":{"type":"string","maximum":255},"example":"-89.500,43.073,-89.401,43.150"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/areas-of-interest.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all areas of interest. The visibility of AOIs may be limited by the permissions associated with the request, which are attributed through the user attached to the access token.","tags":["Areas of Interest"]},"post":{"summary":"Create an area of interest","operationId":"createAreaOfInterest","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/areas-of-interest.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/areas-of-interest.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'geometryType': 'circle',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.34,\n                43.14\n            ],\n            'type': 'Point'\n        },\n        'properties': {\n            'radiusInM': 1000\n        },\n        'type': 'Feature'\n    },\n    'name': 'Guac Delivery Range',\n    'syncedDeviceTypes': [\n        'mobile',\n        'desktop'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'geometryType': 'circle',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.34,\n                43.14\n            ],\n            'type': 'Point'\n        },\n        'properties': {\n            'radiusInM': 1000\n        },\n        'type': 'Feature'\n    },\n    'name': 'Guac Delivery Range',\n    'syncedDeviceTypes': [\n        'mobile',\n        'desktop'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"geometryType\": \"circle\",\n         \"geometryValue\": {\n             \"geometry\": {\n                 \"coordinates\": [\n                     -89.34,\n                     43.14\n                 ],\n                 \"type\": \"Point\"\n             },\n             \"properties\": {\n                 \"radiusInM\": 1000\n             },\n             \"type\": \"Feature\"\n         },\n         \"name\": \"Guac Delivery Range\",\n         \"syncedDeviceTypes\": [\n             \"mobile\",\n             \"desktop\"\n         ]}'\n"}],"description":"Creates a new area of interest.","tags":["Areas of Interest"]}},"/v1/areas-of-interest/{areaOfInterestId}":{"get":{"summary":"Get an area of interest","operationId":"getAreaOfInterest","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/areas-of-interest.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single AOI by id. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Areas of Interest"]},"put":{"summary":"Update an area of interest","operationId":"updateAreaOfInterest","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/areas-of-interest.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/areas-of-interest.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'geometryType': 'circle',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.34,\n                43.14\n            ],\n            'type': 'Point'\n        },\n        'properties': {\n            'radiusInM': 1000\n        },\n        'type': 'Feature'\n    },\n    'name': 'Guac Delivery Range',\n    'syncedDeviceTypes': [\n        'mobile',\n        'desktop'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'geometryType': 'circle',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.34,\n                43.14\n            ],\n            'type': 'Point'\n        },\n        'properties': {\n            'radiusInM': 1000\n        },\n        'type': 'Feature'\n    },\n    'name': 'Guac Delivery Range',\n    'syncedDeviceTypes': [\n        'mobile',\n        'desktop'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"geometryType\": \"circle\",\n         \"geometryValue\": {\n             \"geometry\": {\n                 \"coordinates\": [\n                     -89.34,\n                     43.14\n                 ],\n                 \"type\": \"Point\"\n             },\n             \"properties\": {\n                 \"radiusInM\": 1000\n             },\n             \"type\": \"Feature\"\n         },\n         \"name\": \"Guac Delivery Range\",\n         \"syncedDeviceTypes\": [\n             \"mobile\",\n             \"desktop\"\n         ]}'\n"}],"description":"Updates an existing area of interest.","tags":["Areas of Interest"]},"delete":{"summary":"Delete an area of interest","operationId":"deleteAreaOfInterest","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Areas of Interest"]}},"/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers":{"get":{"summary":"List all Boundary Triggers","operationId":"getAreaOfInterestBoundaryTriggers","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all boundary triggers (entering, exiting, or both) associated with the given area of interest.\n(The permissions associated with the request, through the user attached to the access token, may limit the visibility of\nthese triggers.)","tags":["Areas of Interest Boundary Triggers"]},"post":{"summary":"Create a Boundary Trigger","operationId":"createAreaOfInterestBoundaryTrigger","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'action': 'entered',\n    'name': 'Arrive at CVG',\n    'notificationAction': 'send-to-user',\n    'perUserThrottlingInSecs': 600,\n    'userIds': [\n        'e4e7860d-fb72-11e5-93a8-7b0393df5405'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'action': 'entered',\n    'name': 'Arrive at CVG',\n    'notificationAction': 'send-to-user',\n    'perUserThrottlingInSecs': 600,\n    'userIds': [\n        'e4e7860d-fb72-11e5-93a8-7b0393df5405'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"action\": \"entered\",\n         \"name\": \"Arrive at CVG\",\n         \"notificationAction\": \"send-to-user\",\n         \"perUserThrottlingInSecs\": 600,\n         \"userIds\": [\n             \"e4e7860d-fb72-11e5-93a8-7b0393df5405\"\n         ]}'\n"}],"description":"Create a new Boundary Trigger.","tags":["Areas of Interest Boundary Triggers"]}},"/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}":{"get":{"summary":"Get a Boundary Trigger","operationId":"getAreaOfInterestBoundaryTrigger","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}},{"name":"boundaryTriggerId","in":"path","description":"The boundary trigger id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single boundary trigger by `id`. Since this is not a list request, there is no pagination wrapper around\nthe result.","tags":["Areas of Interest Boundary Triggers"]},"put":{"summary":"Update a Boundary Trigger","operationId":"updateAreaOfInterestBoundaryTrigger","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}},{"name":"boundaryTriggerId","in":"path","description":"The boundary trigger id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'action': 'entered',\n    'name': 'Arrive at CVG',\n    'notificationAction': 'send-to-user',\n    'perUserThrottlingInSecs': 600,\n    'userIds': [\n        'e4e7860d-fb72-11e5-93a8-7b0393df5405'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'action': 'entered',\n    'name': 'Arrive at CVG',\n    'notificationAction': 'send-to-user',\n    'perUserThrottlingInSecs': 600,\n    'userIds': [\n        'e4e7860d-fb72-11e5-93a8-7b0393df5405'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"action\": \"entered\",\n         \"name\": \"Arrive at CVG\",\n         \"notificationAction\": \"send-to-user\",\n         \"perUserThrottlingInSecs\": 600,\n         \"userIds\": [\n             \"e4e7860d-fb72-11e5-93a8-7b0393df5405\"\n         ]}'\n"}],"description":"Updates an existing boundary trigger.","tags":["Areas of Interest Boundary Triggers"]},"delete":{"summary":"Remove a Boundary Trigger","operationId":"deleteAreaOfInterestBoundaryTrigger","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}},{"name":"boundaryTriggerId","in":"path","description":"The boundary trigger id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Areas of Interest Boundary Triggers"]}},"/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities":{"get":{"summary":"List all Activities","operationId":"getAreaOfInterestBoundaryTriggerActivities","parameters":[{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}},{"name":"boundaryTriggerId","in":"path","description":"The boundary trigger id path parameter","required":true,"schema":{"type":"string"}},{"name":"device[userId]","in":"query","description":"Return only the activities which contain the specified device's user ID","schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers_activities.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all AOI Boundary Trigger Activities","tags":["Areas of Interest Boundary Trigger Activities"]}},"/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities/{activityId}":{"get":{"summary":"Get an Activity","operationId":"getAreaOfInterestBoundaryTriggerActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"areaOfInterestId","in":"path","description":"The area of interest id path parameter","required":true,"schema":{"type":"string"}},{"name":"boundaryTriggerId","in":"path","description":"The boundary trigger id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/areas-of-interest_boundary-triggers_activities.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities/{activityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/areas-of-interest/{areaOfInterestId}/boundary-triggers/{boundaryTriggerId}/activities/{activityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single AOI Boundary Trigger Activity by ID","tags":["Areas of Interest Boundary Trigger Activities"]}},"/v1/badges":{"get":{"summary":"List all badges","operationId":"getBadges","parameters":[{"name":"batteryPercentage","in":"query","description":"Optionally filter Badges by battery percentage","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__gt","in":"query","description":"Filter results where battery-percentage is greater than  the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__gte","in":"query","description":"Filter results where battery-percentage is greater than or equal to the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__lt","in":"query","description":"Filter results where battery-percentage is less than the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__lte","in":"query","description":"Filter results where battery-percentage is less than or equal to the supplied value","schema":{"type":"integer"},"example":12},{"name":"eui","in":"query","description":"The Badges's device EUI","schema":{"type":"string","maximum":16,"minimum":16},"example":"0205f041c8e3e647"},{"name":"includeLatestState","in":"query","description":"Optionally include the Badge's latest state.","schema":{"type":"boolean"}},{"name":"includeSignalReport","in":"query","description":"Whether to include a (gateway) signal report.","schema":{"type":"boolean"}},{"name":"includeUser","in":"query","description":"Optionally includes the Badge's user","schema":{"type":"boolean"}},{"name":"isDecommissioned","in":"query","description":"Whether the Badge is currently decommissioned","schema":{"type":"boolean"},"example":true},{"name":"isUserAssigned","in":"query","description":"Optionally include badges with or without a user assigned.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"model","in":"query","description":"The Badge's model","schema":{"type":"string","enum":["Moko_LW010CT"],"example":"Moko_LW010CT"},"example":"Moko_LW010CT"},{"name":"name","in":"query","description":"The name of the Badge","schema":{"type":"string","maximum":140,"minimum":3},"example":"Joe's Badge"},{"name":"q","in":"query","description":"Perform a term (stemming) search on Badge names and mac addresses","schema":{"type":"string"},"example":"Moko"},{"name":"sort","in":"query","description":"Sorts Badges by name or battery percentage. Defaults to name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"telemetryTimestamp","in":"query","description":"The time range to limit signal report and recent telemetry attributes to.","schema":{"type":"string","format":"date-time"}},{"name":"telemetryTimestamp__gt","in":"query","description":"Filter results where telemetry-timestamp is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"userId","in":"query","description":"The ID of the user the badge is assigned to","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/badges.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]},"post":{"summary":"Create a badge","operationId":"createBadge","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/badges.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/badges.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'eui': '0205f041c8e3e647',\n    'isDecommissioned': true,\n    'model': 'Moko_LW010CT',\n    'name': 'Joe\\'s Badge',\n    'salt': '8d6e1f0a2b3c4d5e'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'eui': '0205f041c8e3e647',\n    'isDecommissioned': True,\n    'model': 'Moko_LW010CT',\n    'name': 'Joe\\'s Badge',\n    'salt': '8d6e1f0a2b3c4d5e'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"appEui\": \"0000000000000001\",\n         \"appKey\": \"ae4e4470e68a4fbd941b77ec0018cfba\",\n         \"blePassword\": \"be4e4470e68a4fbd941b77ec0018cfbb\",\n         \"eui\": \"0205f041c8e3e647\",\n         \"isDecommissioned\": true,\n         \"model\": \"Moko_LW010CT\",\n         \"name\": \"Joe\\'s Badge\",\n         \"salt\": \"8d6e1f0a2b3c4d5e\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]}},"/v1/badges/{badgeId}":{"get":{"summary":"Get a badge","operationId":"getBadge","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}},{"name":"batteryPercentage","in":"query","description":"Optionally filter Badges by battery percentage","schema":{"type":"integer"},"example":12},{"name":"includeLatestState","in":"query","description":"Optionally include the Badge's latest state.","schema":{"type":"boolean"}},{"name":"includeSignalReport","in":"query","description":"Whether to include a (gateway) signal report.","schema":{"type":"boolean"}},{"name":"includeUser","in":"query","description":"Optionally includes the Badge's user","schema":{"type":"boolean"}},{"name":"telemetryTimestamp","in":"query","description":"The time range to limit signal report and recent telemetry attributes to.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/badges.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]},"put":{"summary":"Update a badge","operationId":"updateBadge","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/badges.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/badges.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'eui': '0205f041c8e3e647',\n    'isDecommissioned': true,\n    'model': 'Moko_LW010CT',\n    'name': 'Joe\\'s Badge'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'eui': '0205f041c8e3e647',\n    'isDecommissioned': True,\n    'model': 'Moko_LW010CT',\n    'name': 'Joe\\'s Badge'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"appEui\": \"0000000000000001\",\n         \"appKey\": \"ae4e4470e68a4fbd941b77ec0018cfba\",\n         \"blePassword\": \"be4e4470e68a4fbd941b77ec0018cfbb\",\n         \"eui\": \"0205f041c8e3e647\",\n         \"isDecommissioned\": true,\n         \"model\": \"Moko_LW010CT\",\n         \"name\": \"Joe\\'s Badge\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]},"delete":{"summary":"Delete a badge","operationId":"deleteBadge","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]}},"/v1/badges/{badgeId}/decommission":{"post":{"summary":"Create a badge decommission","operationId":"createBadgeDecommission","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/badges_decommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_badge.decommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/decommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/decommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/decommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]}},"/v1/badges/{badgeId}/downlink-messages":{"get":{"summary":"List all badge downlink messages","operationId":"getBadgeDownlinkMessages","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/badges_downlink-messages.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]},"post":{"summary":"Create a badge downlink message","operationId":"createBadgeDownlinkMessage","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/badges_downlink-messages.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/badges_downlink-messages.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]}},"/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}":{"get":{"summary":"Get a badge downlink message","operationId":"getBadgeDownlinkMessage","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}},{"name":"downlinkMessageId","in":"path","description":"The downlink message id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/badges_downlink-messages.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]},"put":{"summary":"Update a badge downlink message","operationId":"updateBadgeDownlinkMessage","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}},{"name":"downlinkMessageId","in":"path","description":"The downlink message id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/badges_downlink-messages.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/badges_downlink-messages.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]},"delete":{"summary":"Delete a badge downlink message","operationId":"deleteBadgeDownlinkMessage","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}},{"name":"downlinkMessageId","in":"path","description":"The downlink message id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/downlink-messages/{downlinkMessageId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]}},"/v1/badges/{badgeId}/recommission":{"post":{"summary":"Create a badge recommission","operationId":"createBadgeRecommission","parameters":[{"name":"badgeId","in":"path","description":"The badge id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/badges_recommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_badge.recommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/recommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/recommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/badges/{badgeId}/recommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Badges"]}},"/v1/beacons":{"get":{"summary":"List all beacons","operationId":"getBeacons","parameters":[{"name":"batteryPercentage","in":"query","description":"Optionally filter Beacons by battery percentage","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__gt","in":"query","description":"Filter results where battery-percentage is greater than  the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__gte","in":"query","description":"Filter results where battery-percentage is greater than or equal to the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__lt","in":"query","description":"Filter results where battery-percentage is less than the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__lte","in":"query","description":"Filter results where battery-percentage is less than or equal to the supplied value","schema":{"type":"integer"},"example":12},{"name":"buildingId","in":"query","description":"The ID of the Building the Beacon is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"connectionStatus","in":"query","description":"Optionally filter Beacons by connection status","schema":{"type":"string","enum":["UNKNOWN","CONNECTED","DISCONNECTED"],"example":"DISCONNECTED"},"example":"DISCONNECTED"},{"name":"facilityId","in":"query","description":"The ID of the facility this Beacon belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"The ID of the Floor the Beacon is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Beacon belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLatestState","in":"query","description":"Optionally include the Beacon's latest state.","schema":{"type":"boolean"}},{"name":"isDecommissioned","in":"query","description":"Whether the Beacon is currently decommissioned","schema":{"type":"boolean"},"example":true},{"name":"isLocationPinned","in":"query","description":"Optionally include Beacons with or without a pinned location.","schema":{"type":"boolean"}},{"name":"isOutdoorModel","in":"query","description":"Whether the Beacons's model is only compatible with outdoor zones.","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"macAddress","in":"query","description":"The MAC address which identifies the beacon","schema":{"type":"string","maximum":12,"minimum":12},"example":"aabbccddeeff"},{"name":"major","in":"query","description":"The Beacon's iBeacon Major value","schema":{"type":"integer"},"example":1},{"name":"minor","in":"query","description":"The Beacon's iBeacon Minor value","schema":{"type":"integer"},"example":1},{"name":"model","in":"query","description":"The Beacons's model","schema":{"type":"string","enum":["Moko_M6","Moko_L01A"],"example":"Moko_L01A"},"example":"Moko_L01A"},{"name":"name","in":"query","description":"The name of the Beacon","schema":{"type":"string","maximum":140,"minimum":3},"example":"Room 102A Beacon"},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the Beacon is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Beacons whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"type":"string","format":"json"},"example":{"type":"Point","coordinates":[-89.50275,43.114705]}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"q","in":"query","description":"Perform a term (stemming) search on Beacon names and external IDs","schema":{"type":"string"},"example":"moko"},{"name":"signal","in":"query","description":"Optionally filter Beacons by their derived signal strength","schema":{"type":"string","enum":["UNKNOWN","STRONG","FAIR","LOW"],"example":"STRONG"},"example":"STRONG"},{"name":"siteId","in":"query","description":"The ID of the Site the Beacon is assigned to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"sort","in":"query","description":"Sorts Beacons by name, battery percentage, outdoor model status, or signal strength. Defaults to name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The Beacon type such as iBeacon.","schema":{"type":"string","enum":["IBEACON"],"example":"IBEACON"},"example":"IBEACON"},{"name":"uuid","in":"query","description":"The Beacon's iBeacon UUID.","schema":{"type":"string","format":"uuid"},"example":"2ac6d883-421b-11f0-8c50-f5395f75a91a"},{"name":"zoneId","in":"query","description":"The ID of the Zone the Beacon is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/beacons.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]},"post":{"summary":"Create a beacon","operationId":"createBeacon","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/beacons.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/beacons.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': true,\n    'macAddress': 'aabbccddeeff',\n    'major': 1,\n    'minor': 1,\n    'model': 'Moko_L01A',\n    'name': 'Room 102A Beacon',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'rssiAt1mDbm': 0,\n    'salt': '8d6e1f0a2b3c4d5e',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'txPowerDbm': 0,\n    'type': 'IBEACON',\n    'uuid': '2ac6d883-421b-11f0-8c50-f5395f75a91a',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': True,\n    'macAddress': 'aabbccddeeff',\n    'major': 1,\n    'minor': 1,\n    'model': 'Moko_L01A',\n    'name': 'Room 102A Beacon',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'rssiAt1mDbm': 0,\n    'salt': '8d6e1f0a2b3c4d5e',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'txPowerDbm': 0,\n    'type': 'IBEACON',\n    'uuid': '2ac6d883-421b-11f0-8c50-f5395f75a91a',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"blePassword\": \"be4e4470e68a4fbd941b77ec0018cfbb\",\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"isDecommissioned\": true,\n         \"macAddress\": \"aabbccddeeff\",\n         \"major\": 1,\n         \"minor\": 1,\n         \"model\": \"Moko_L01A\",\n         \"name\": \"Room 102A Beacon\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"rssiAt1mDbm\": 0,\n         \"salt\": \"8d6e1f0a2b3c4d5e\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"txPowerDbm\": 0,\n         \"type\": \"IBEACON\",\n         \"uuid\": \"2ac6d883-421b-11f0-8c50-f5395f75a91a\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]}},"/v1/beacons/{beaconId}":{"get":{"summary":"Get a beacon","operationId":"getBeacon","parameters":[{"name":"batteryPercentage","in":"query","description":"Optionally filter Beacons by battery percentage","schema":{"type":"integer"},"example":12},{"name":"beaconId","in":"path","description":"The beacon id path parameter","required":true,"schema":{"type":"string"}},{"name":"connectionStatus","in":"query","description":"Optionally filter Beacons by connection status","schema":{"type":"string","enum":["UNKNOWN","CONNECTED","DISCONNECTED"],"example":"DISCONNECTED"},"example":"DISCONNECTED"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Beacon belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLatestState","in":"query","description":"Optionally include the Beacon's latest state.","schema":{"type":"boolean"}},{"name":"signal","in":"query","description":"Optionally filter Beacons by their derived signal strength","schema":{"type":"string","enum":["UNKNOWN","STRONG","FAIR","LOW"],"example":"STRONG"},"example":"STRONG"}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/beacons.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]},"put":{"summary":"Update a beacon","operationId":"updateBeacon","parameters":[{"name":"beaconId","in":"path","description":"The beacon id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/beacons.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/beacons.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': true,\n    'macAddress': 'aabbccddeeff',\n    'major': 1,\n    'minor': 1,\n    'model': 'Moko_L01A',\n    'name': 'Room 102A Beacon',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'rssiAt1mDbm': 0,\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'txPowerDbm': 0,\n    'type': 'IBEACON',\n    'uuid': '2ac6d883-421b-11f0-8c50-f5395f75a91a',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': True,\n    'macAddress': 'aabbccddeeff',\n    'major': 1,\n    'minor': 1,\n    'model': 'Moko_L01A',\n    'name': 'Room 102A Beacon',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'rssiAt1mDbm': 0,\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'txPowerDbm': 0,\n    'type': 'IBEACON',\n    'uuid': '2ac6d883-421b-11f0-8c50-f5395f75a91a',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"blePassword\": \"be4e4470e68a4fbd941b77ec0018cfbb\",\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"isDecommissioned\": true,\n         \"macAddress\": \"aabbccddeeff\",\n         \"major\": 1,\n         \"minor\": 1,\n         \"model\": \"Moko_L01A\",\n         \"name\": \"Room 102A Beacon\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"rssiAt1mDbm\": 0,\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"txPowerDbm\": 0,\n         \"type\": \"IBEACON\",\n         \"uuid\": \"2ac6d883-421b-11f0-8c50-f5395f75a91a\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]},"delete":{"summary":"Delete a beacon","operationId":"deleteBeacon","parameters":[{"name":"beaconId","in":"path","description":"The beacon id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]}},"/v1/beacons/{beaconId}/decommission":{"post":{"summary":"Create a beacon decommission","operationId":"createBeaconDecommission","parameters":[{"name":"beaconId","in":"path","description":"The beacon id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/beacons_decommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_beacon.decommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/decommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/decommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/decommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]}},"/v1/beacons/{beaconId}/recommission":{"post":{"summary":"Create a beacon recommission","operationId":"createBeaconRecommission","parameters":[{"name":"beaconId","in":"path","description":"The beacon id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/beacons_recommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_beacon.recommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/recommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/recommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/recommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]}},"/v1/beacons/{beaconId}/reset":{"post":{"summary":"Create a beacon reset","operationId":"createBeaconReset","parameters":[{"name":"beaconId","in":"path","description":"The beacon id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/beacons_reset.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_beacon.reset.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/reset\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/reset\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/reset\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]}},"/v1/beacons/{beaconId}/swap":{"post":{"summary":"Create a beacon swap","operationId":"createBeaconSwap","parameters":[{"name":"beaconId","in":"path","description":"The beacon id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/beacons_swap.post-request"}}}},"responses":{"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field replacementId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"description":"A successful response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deleteSource': false,\n    'replacementId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'transferLocation': true,\n    'transferName': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/swap\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/swap\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deleteSource': False,\n    'replacementId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'transferLocation': True,\n    'transferName': True\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/beacons/{beaconId}/swap\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deleteSource\": false,\n         \"replacementId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"transferLocation\": true,\n         \"transferName\": true}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Beacons"]}},"/v1/bell-schedules":{"get":{"summary":"List all bell schedules","operationId":"getBellSchedules","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateForEndpoint","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for a specific fusion endpoint","schema":{"type":"string","format":"uuid"},"deprecated":true},{"name":"facilityId","in":"query","description":"The ID of the facility this bell schedule belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this bell schedule belongs","schema":{"type":"boolean"},"example":true},{"name":"isShared","in":"query","description":"Denotes whether or not this bell schedule is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"A unique name for the bell schedule","schema":{"type":"string","maximum":50},"example":"School Year 24-25"},{"name":"q","in":"query","description":"Perform a term (stemming) search on bell schedule names","schema":{"type":"string"},"example":"School Yea"},{"name":"sort","in":"query","description":"Sorts bell schedules by name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_bell-schedules_response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all bell schedules. (The [Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned.)","tags":["Bell Schedules"]},"post":{"summary":"Create a bell schedule","operationId":"createBellSchedule","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/bell-schedules.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_bell-schedules_response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'bellScheduleEntries': [{\n            'entryNum': 0,\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875'\n        }],\n    'bellScheduleExceptions': [{\n            'description': 'Snow Day',\n            'endDate': '2024-01-04',\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875',\n            'startDate': '2024-01-03'\n        }],\n    'description': 'School Year 2024-2025',\n    'endDate': '2025-05-25',\n    'isShared': true,\n    'name': 'School Year 24-25',\n    'numWeeks': 1,\n    'startDate': '2024-08-28',\n    'timeZone': 'America/Chicago'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'bellScheduleEntries': [{\n            'entryNum': 0,\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875'\n        }],\n    'bellScheduleExceptions': [{\n            'description': 'Snow Day',\n            'endDate': '2024-01-04',\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875',\n            'startDate': '2024-01-03'\n        }],\n    'description': 'School Year 2024-2025',\n    'endDate': '2025-05-25',\n    'isShared': True,\n    'name': 'School Year 24-25',\n    'numWeeks': 1,\n    'startDate': '2024-08-28',\n    'timeZone': 'America/Chicago'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"bellScheduleEntries\": [{\n                 \"entryNum\": 0,\n                 \"ringListId\": \"e37754f2-c071-11ee-a727-8dd76c1a8875\"\n             }],\n         \"bellScheduleExceptions\": [{\n                 \"description\": \"Snow Day\",\n                 \"endDate\": \"2024-01-04\",\n                 \"ringListId\": \"e37754f2-c071-11ee-a727-8dd76c1a8875\",\n                 \"startDate\": \"2024-01-03\"\n             }],\n         \"description\": \"School Year 2024-2025\",\n         \"endDate\": \"2025-05-25\",\n         \"isShared\": true,\n         \"name\": \"School Year 24-25\",\n         \"numWeeks\": 1,\n         \"startDate\": \"2024-08-28\",\n         \"timeZone\": \"America/Chicago\"}'\n"}],"description":"Creates a new bell schedule (limit: 3500). Once the schedule is created, it should begin firing at the next available time within the `startDate` and `endDate`.","tags":["Bell Schedules"]}},"/v1/bell-schedules-bulk-exceptions":{"post":{"summary":"Add an Exception to Multiple Bell Schedules","operationId":"createBellSchedulesBulkException","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/bell-schedules-bulk-exceptions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bell-schedules-bulk-exceptions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field startDate is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'bellScheduleIds': [\n        'cc01447c-650f-11e8-a57e-332c8cdd597f',\n        'f94d1622-6a65-11e8-9030-0d319c188f5d'\n    ],\n    'description': 'Snow Day',\n    'endDate': '2024-02-05',\n    'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875',\n    'startDate': '2024-02-04'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules-bulk-exceptions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules-bulk-exceptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'bellScheduleIds': [\n        'cc01447c-650f-11e8-a57e-332c8cdd597f',\n        'f94d1622-6a65-11e8-9030-0d319c188f5d'\n    ],\n    'description': 'Snow Day',\n    'endDate': '2024-02-05',\n    'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875',\n    'startDate': '2024-02-04'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules-bulk-exceptions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"bellScheduleIds\": [\n             \"cc01447c-650f-11e8-a57e-332c8cdd597f\",\n             \"f94d1622-6a65-11e8-9030-0d319c188f5d\"\n         ],\n         \"description\": \"Snow Day\",\n         \"endDate\": \"2024-02-05\",\n         \"ringListId\": \"e37754f2-c071-11ee-a727-8dd76c1a8875\",\n         \"startDate\": \"2024-02-04\"}'\n"}],"description":"Adds an exception with the specified date range and ring list (which can be null to suppress ringing entirely) to the\nspecified bell schedules. It will adjust each schedule whose date ranges have any overlap with the exception to include\nthe new exception in the appropriate place, shortening, removing, or splitting any existing exceptions which would have\nconflicted with the new one. In order to perform this operation the user must have `POST` permission to the\n/bell-schedules-bulk-exceptions resource but only needs `GET` permission to the ring list and bell schedules. This\nallows delegation of exception assignment without other bell schedule editing powers.","tags":["Bell Schedules"]}},"/v1/bell-schedules/{bellScheduleId}":{"get":{"summary":"Get a bell schedule","operationId":"getBellSchedule","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateForEndpoint","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for a specific fusion endpoint","schema":{"type":"string","format":"uuid"},"deprecated":true},{"name":"bellScheduleId","in":"path","description":"The bell schedule id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this bell schedule belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_bell-schedules_response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single bell schedule by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Bell Schedules"]},"put":{"summary":"Update a bell schedule","operationId":"updateBellSchedule","parameters":[{"name":"bellScheduleId","in":"path","description":"The bell schedule id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/bell-schedules.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_bell-schedules_response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'bellScheduleEntries': [{\n            'entryNum': 0,\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875'\n        }],\n    'bellScheduleExceptions': [{\n            'description': 'Snow Day',\n            'endDate': '2024-01-04',\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875',\n            'startDate': '2024-01-03'\n        }],\n    'description': 'School Year 2024-2025',\n    'endDate': '2025-05-25',\n    'isShared': true,\n    'name': 'School Year 24-25',\n    'numWeeks': 1,\n    'startDate': '2024-08-28',\n    'timeZone': 'America/Chicago'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'bellScheduleEntries': [{\n            'entryNum': 0,\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875'\n        }],\n    'bellScheduleExceptions': [{\n            'description': 'Snow Day',\n            'endDate': '2024-01-04',\n            'ringListId': 'e37754f2-c071-11ee-a727-8dd76c1a8875',\n            'startDate': '2024-01-03'\n        }],\n    'description': 'School Year 2024-2025',\n    'endDate': '2025-05-25',\n    'isShared': True,\n    'name': 'School Year 24-25',\n    'numWeeks': 1,\n    'startDate': '2024-08-28',\n    'timeZone': 'America/Chicago'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"bellScheduleEntries\": [{\n                 \"entryNum\": 0,\n                 \"ringListId\": \"e37754f2-c071-11ee-a727-8dd76c1a8875\"\n             }],\n         \"bellScheduleExceptions\": [{\n                 \"description\": \"Snow Day\",\n                 \"endDate\": \"2024-01-04\",\n                 \"ringListId\": \"e37754f2-c071-11ee-a727-8dd76c1a8875\",\n                 \"startDate\": \"2024-01-03\"\n             }],\n         \"description\": \"School Year 2024-2025\",\n         \"endDate\": \"2025-05-25\",\n         \"isShared\": true,\n         \"name\": \"School Year 24-25\",\n         \"numWeeks\": 1,\n         \"startDate\": \"2024-08-28\",\n         \"timeZone\": \"America/Chicago\"}'\n"}],"description":"Updates an existing bell schedule.","tags":["Bell Schedules"]},"delete":{"summary":"Delete a bell schedule","operationId":"deleteBellSchedule","parameters":[{"name":"bellScheduleId","in":"path","description":"The bell schedule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Bell Schedules"]}},"/v1/bell-schedules/{bellScheduleId}/clone":{"post":{"summary":"Clone a Bell Schedule","operationId":"createBellScheduleClone","parameters":[{"name":"bellScheduleId","in":"path","description":"The bell schedule id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/bell-schedules_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_bell-schedules_clone.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'School Year 24-25 (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'School Year 24-25 (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bell-schedules/{bellScheduleId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"School Year 24-25 (Copy)\"}'\n"}],"description":"Creates a copy of the specified Bell Schedule. The name of the new copy is simply the original Bell Schedule’s name with\n“ (Copy)” appended. In order to perform this operation, the user must have both `POST` permission to the `/bell-schedules`\nresource and `GET` permission to the Bell Schedule they wish to copy.","tags":["Bell Schedules"]}},"/v1/brandings":{"get":{"summary":"List all brandings","operationId":"getBrandings","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/brandings.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all Brandings.","tags":["Brandings"]}},"/v1/brandings/{brandingId}":{"get":{"summary":"Get a branding","operationId":"getBranding","parameters":[{"name":"brandingId","in":"path","description":"The branding id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/brandings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Branding by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Brandings"]},"put":{"summary":"Update a branding","operationId":"updateBranding","parameters":[{"name":"brandingId","in":"path","description":"The branding id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/brandings.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/brandings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field logo is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'companyEmail': 'administrator@example.com',\n    'companyName': 'Singlewire',\n    'companyPhone': '+15558675309',\n    'logo': '398268',\n    'logoAltText': 'Brand Logo',\n    'primaryColor': '#007cbd',\n    'secondaryColor': '#e6e6e6'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'companyEmail': 'administrator@example.com',\n    'companyName': 'Singlewire',\n    'companyPhone': '+15558675309',\n    'logo': '398268',\n    'logoAltText': 'Brand Logo',\n    'primaryColor': '#007cbd',\n    'secondaryColor': '#e6e6e6'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"companyEmail\": \"administrator@example.com\",\n         \"companyName\": \"Singlewire\",\n         \"companyPhone\": \"+15558675309\",\n         \"logo\": \"398268\",\n         \"logoAltText\": \"Brand Logo\",\n         \"primaryColor\": \"#007cbd\",\n         \"secondaryColor\": \"#e6e6e6\"}'\n"}],"description":"Updates an existing Branding.","tags":["Brandings"]}},"/v1/brandings/{brandingId}/logo":{"get":{"summary":"Get a branding logo image","operationId":"getBrandingLogos","parameters":[{"name":"brandingId","in":"path","description":"The branding id path parameter","required":true,"schema":{"type":"string"}},{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}}],"responses":{"200":{"$ref":"#/components/responses/_brandings_logo.list.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}/logo\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}/logo\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/brandings/{brandingId}/logo\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Returns the logo image associated with a provider's (account's) brandings.","tags":["Brandings"]}},"/v1/bulk-uploads":{"get":{"summary":"List all bulk uploads","operationId":"getBulkUploads","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this bulk upload belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this bulk upload belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/bulk-uploads.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all bulk uploads to the current user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned). Upload information is cleared daily, so records may not be retained.","tags":["Bulk Upload"]},"post":{"summary":"Create a bulk upload","operationId":"createBulkUpload","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/bulk-uploads.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_bulk-uploads.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field resourceType is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'contentType': 'application/zip',\n    'resourceType': 'message-templates',\n    'testMode': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'contentType': 'application/zip',\n    'resourceType': 'message-templates',\n    'testMode': True\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"contentType\": \"application/zip\",\n         \"resourceType\": \"message-templates\",\n         \"testMode\": true}'\n"}],"description":"Provides an authenticated URL to post a zip file to an S3 bucket.","tags":["Bulk Upload"]}},"/v1/bulk-uploads/{bulkUploadId}":{"get":{"summary":"Get a bulk upload","operationId":"getBulkUpload","parameters":[{"name":"bulkUploadId","in":"path","description":"The bulk upload id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this bulk upload belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulk-uploads.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single bulk upload by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Bulk Upload"]},"delete":{"summary":"Delete a bulk upload","operationId":"deleteBulkUpload","parameters":[{"name":"bulkUploadId","in":"path","description":"The bulk upload id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Bulk Upload"]}},"/v1/bulk-uploads/{bulkUploadId}/commit":{"post":{"summary":"Create a bulk upload commit","operationId":"createBulkUploadCommit","parameters":[{"name":"bulkUploadId","in":"path","description":"The bulk upload id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/bulk-uploads_commit.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulk-uploads_commit.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field endpointId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/commit\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/commit\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/commit\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"Takes an existing test bulk upload by `id` and commits the resources to the database.","tags":["Bulk Upload Commit"]}},"/v1/bulk-uploads/{bulkUploadId}/logs":{"get":{"summary":"List all bulk upload logs","operationId":"getBulkUploadLogs","parameters":[{"name":"bulkUploadId","in":"path","description":"The bulk upload id path parameter","required":true,"schema":{"type":"string"}},{"name":"facilityId","in":"query","description":"The ID of the facility this bulk upload logs belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this bulk upload logs belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/bulk-uploads_logs.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/logs\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/logs\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/logs\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all bulk upload logs for a specific bulk upload instance to the current user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned). Upload information is cleared daily, so records may not be retained.","tags":["Bulk Upload Logs"]}},"/v1/bulk-uploads/{bulkUploadId}/logs/{bulkUploadLogId}":{"get":{"summary":"Get a bulk upload log","operationId":"getBulkUploadLog","parameters":[{"name":"bulkUploadId","in":"path","description":"The bulk upload id path parameter","required":true,"schema":{"type":"string"}},{"name":"bulkUploadLogId","in":"path","description":"The bulk upload log id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this bulk upload logs belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bulk-uploads_logs.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/logs/{bulkUploadLogId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/logs/{bulkUploadLogId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/bulk-uploads/{bulkUploadId}/logs/{bulkUploadLogId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single bulk upload log by `id`. Since this is not a list request, there is\nno pagination wrapper around the result.","tags":["Bulk Upload Logs"]}},"/v1/call-history":{"get":{"summary":"List all call history","operationId":"getCallHistories","parameters":[{"name":"callId","in":"query","description":"The unique ID of the call","schema":{"type":"string","maximum":10000},"example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"},{"name":"callType","in":"query","description":"The type of the call. Possible values are 'DIALCAST', 'SIP_SPEAKER', 'PHONE', 'DIAL_TO_INTERCOM', 'CANCEL_BROADCASTS', 'UCAAS_PROVIDER' and 'UNDEFINED'.","schema":{"type":"string","maximum":10000,"minimum":5},"example":"DIALCAST"},{"name":"endpointId","in":"query","description":"Endpoint identifier associated with the call","schema":{"type":"string","format":"uuid"},"example":"95290045-0b4f-11f1-846e-f17869fff289"},{"name":"endTime","in":"query","description":"The end time of the call session","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:39:57.964Z"},{"name":"endTime__gt","in":"query","description":"Filter results where end-time is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:39:57.964Z"},{"name":"endTime__gte","in":"query","description":"Filter results where end-time is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:39:57.964Z"},{"name":"endTime__lt","in":"query","description":"Filter results where end-time is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:39:57.964Z"},{"name":"endTime__lte","in":"query","description":"Filter results where end-time is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:39:57.964Z"},{"name":"id","in":"query","description":"The unique ID of the call history record","schema":{"type":"string","format":"uuid"},"example":"95290045-0b4f-11f1-846e-f17869fff289"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notificationId","in":"query","description":"The ID of the notification associated with this call","schema":{"type":"string","format":"uuid"},"example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"},{"name":"resolution","in":"query","description":"The call resolution based on SIP response (OK, Failed, or Redirect)","schema":{"type":"string","maximum":10000},"example":"OK"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"startTime","in":"query","description":"The start time of the call session","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:38:41.439Z"},{"name":"startTime__gt","in":"query","description":"Filter results where start-time is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:38:41.439Z"},{"name":"startTime__gte","in":"query","description":"Filter results where start-time is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:38:41.439Z"},{"name":"startTime__lt","in":"query","description":"Filter results where start-time is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:38:41.439Z"},{"name":"startTime__lte","in":"query","description":"Filter results where start-time is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-01-07T16:38:41.439Z"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/call-history.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/call-history\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/call-history\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/call-history\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Logs of inbound SIP calls"]}},"/v1/call-history/{callHistoryId}":{"get":{"summary":"Get a call history","operationId":"getCallHistory","parameters":[{"name":"callHistoryId","in":"path","description":"The call history id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/call-history.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/call-history/{callHistoryId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/call-history/{callHistoryId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/call-history/{callHistoryId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Logs of inbound SIP calls"]}},"/v1/clear-devices-schedules":{"get":{"summary":"List all clear devices schedules","operationId":"getClearDevicesSchedules","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the Clear Devices Schedule","schema":{"type":"string","maximum":140},"example":"Clear at noon daily"},{"name":"q","in":"query","description":"Perform a term (stemming) search on clear devices schedule names","schema":{"type":"string"},"example":"noon"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/clear-devices-schedules.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all clear devices schedules available to the current user.\n(The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned) associated with the request, through\nthe user attached to the access token, may limit the resources\nreturned. Controlling access to clear devices schedules allows administrators\nto decide which users are allowed to configure this feature.)","tags":["Clear Devices"]},"post":{"summary":"Create a clear devices schedule","operationId":"createClearDevicesSchedule","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/clear-devices-schedules.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/clear-devices-schedules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'cronExpression': '0 0 12 * * ?',\n    'name': 'Clear at noon daily'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'cronExpression': '0 0 12 * * ?',\n    'name': 'Clear at noon daily'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"cronExpression\": \"0 0 12 * * ?\",\n         \"name\": \"Clear at noon daily\"}'\n"}],"description":"Create a new clear devices schedule.","tags":["Clear Devices"]}},"/v1/clear-devices-schedules/{clearDevicesScheduleId}":{"get":{"summary":"Get a clear devices schedule","operationId":"getClearDevicesSchedule","parameters":[{"name":"clearDevicesScheduleId","in":"path","description":"The clear devices schedule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/clear-devices-schedules.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single clear devices schedule by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Clear Devices"]},"put":{"summary":"Update a clear devices schedule","operationId":"updateClearDevicesSchedule","parameters":[{"name":"clearDevicesScheduleId","in":"path","description":"The clear devices schedule id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/clear-devices-schedules.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/clear-devices-schedules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'cronExpression': '0 0 12 * * ?',\n    'name': 'Clear at noon daily'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'cronExpression': '0 0 12 * * ?',\n    'name': 'Clear at noon daily'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"cronExpression\": \"0 0 12 * * ?\",\n         \"name\": \"Clear at noon daily\"}'\n"}],"description":"Updates an existing clear devices schedule.","tags":["Clear Devices"]},"delete":{"summary":"Remove a Clear Devices Schedule","operationId":"deleteClearDevicesSchedule","parameters":[{"name":"clearDevicesScheduleId","in":"path","description":"The clear devices schedule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/clear-devices-schedules/{clearDevicesScheduleId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Clear Devices"]}},"/v1/collaboration-groups":{"get":{"summary":"List all collaboration groups","operationId":"getCollaborationGroups","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this collaboration group belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this collaboration group belongs","schema":{"type":"boolean"},"example":true},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"isShared","in":"query","description":"Denotes whether or not this collaboration group is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_collaboration-groups-response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all collaboration groups available to the current user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. Controlling access to collaboration groups allows administrators to decide with whom users can collaborate.)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Collaboration Groups"]},"post":{"summary":"Create a collaboration group","operationId":"createCollaborationGroup","parameters":[{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/collaboration-groups.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_collaboration-groups-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Department Heads',\n    'properties': {\n        'createPin': '8454',\n        'joinPin': '8455'\n    },\n    'type': 'outbound-rss'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Department Heads',\n    'properties': {\n        'createPin': '8454',\n        'joinPin': '8455'\n    },\n    'type': 'outbound-rss'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Department Heads\",\n         \"properties\": {\n             \"createPin\": \"8454\",\n             \"joinPin\": \"8455\"\n         },\n         \"type\": \"outbound-rss\"}'\n"}],"description":"Creates a new collaboration group. As described above, depending on the nature of the group, user or distribution list IDs may need to be present in order for the group to be successfully created.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Collaboration Groups"]}},"/v1/collaboration-groups/{collaborationGroupId}":{"get":{"summary":"Get a collaboration group","operationId":"getCollaborationGroup","parameters":[{"name":"collaborationGroupId","in":"path","description":"The collaboration group id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this collaboration group belongs","schema":{"type":"boolean"},"example":true},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_collaboration-groups-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single collaboration group by its `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Collaboration Groups"]},"put":{"summary":"Update a collaboration group","operationId":"updateCollaborationGroup","parameters":[{"name":"collaborationGroupId","in":"path","description":"The collaboration group id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/collaboration-groups.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_collaboration-groups-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Department Heads',\n    'properties': {\n        'createPin': '8454',\n        'joinPin': '8455'\n    }\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Department Heads',\n    'properties': {\n        'createPin': '8454',\n        'joinPin': '8455'\n    }\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Department Heads\",\n         \"properties\": {\n             \"createPin\": \"8454\",\n             \"joinPin\": \"8455\"\n         }}'\n"}],"description":"Modifies the type or properties of a collaboration group.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Collaboration Groups"]},"delete":{"summary":"Delete a collaboration group","operationId":"deleteCollaborationGroup","parameters":[{"name":"collaborationGroupId","in":"path","description":"The collaboration group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/collaboration-groups/{collaborationGroupId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Collaboration Groups"]}},"/v1/confirmation-requests":{"get":{"summary":"List all confirmation requests","operationId":"getConfirmationRequests","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this confirmation request belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeDynamicReplies","in":"query","description":"Whether dynamic replies should be included in the response. Default true.","schema":{"type":"boolean"}},{"name":"includeEscalationRules","in":"query","description":"Whether escalation rules should be included in the response. Default true.","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this confirmation request belongs","schema":{"type":"boolean"},"example":true},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"isShared","in":"query","description":"Denotes whether or not this confirmation request is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the confirmation request, which is the prompt that will be presented to the user.","schema":{"type":"string","maximum":140},"example":"Are you safe?"},{"name":"q","in":"query","description":"Perform a term (stemming) search on confirmation request names and/or expiration periods","schema":{"type":"string"},"example":"safe"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/confirmation-requests.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all confirmation requests available to the user. (The [permissions](#tag--User-Permissions) and\n[security groups](#tag--Security-Groups) associated with the request, through the user attached to the access\ntoken, may limit the resources returned. Controlling access to confirmation requests allows administrators to decide\nwhich responses are available to notifications they send, although an even simpler approach is to tie an appropriate\nconfirmation request to a [Message Template](#tag--Message-Templates) and not allow it to be changed when\nsending notifications based on that template.)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Requests"]},"post":{"summary":"Create a confirmation request","operationId":"createConfirmationRequest","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/confirmation-requests.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/confirmation-requests.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'expirationPeriod': 36000,\n    'initiateTrackingOptions': [\n        true,\n        false\n    ],\n    'isShared': true,\n    'name': 'Are you safe?',\n    'options': [\n        'No, please call me!',\n        'Atop Mount Olympus'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'expirationPeriod': 36000,\n    'initiateTrackingOptions': [\n        True,\n        False\n    ],\n    'isShared': True,\n    'name': 'Are you safe?',\n    'options': [\n        'No, please call me!',\n        'Atop Mount Olympus'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"expirationPeriod\": 36000,\n         \"initiateTrackingOptions\": [\n             true,\n             false\n         ],\n         \"isShared\": true,\n         \"name\": \"Are you safe?\",\n         \"options\": [\n             \"No, please call me!\",\n             \"Atop Mount Olympus\"\n         ]}'\n"}],"description":"Creates a confirmation request.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Requests"]}},"/v1/confirmation-requests/{confirmationRequestId}":{"get":{"summary":"Get a confirmation request","operationId":"getConfirmationRequest","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDynamicReplies","in":"query","description":"Whether dynamic replies should be included in the response. Default true.","schema":{"type":"boolean"}},{"name":"includeEscalationRules","in":"query","description":"Whether escalation rules should be included in the response. Default true.","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this confirmation request belongs","schema":{"type":"boolean"},"example":true},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/confirmation-requests.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single confirmation request by its `id`. Since this is not a list request, there is no pagination wrapper\naround the result.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Requests"]},"put":{"summary":"Update a confirmation request","operationId":"updateConfirmationRequest","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/confirmation-requests.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/confirmation-requests.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'expirationPeriod': 36000,\n    'initiateTrackingOptions': [\n        true,\n        false\n    ],\n    'isShared': true,\n    'name': 'Are you safe?',\n    'options': [\n        'No, please call me!',\n        'Atop Mount Olympus'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'expirationPeriod': 36000,\n    'initiateTrackingOptions': [\n        True,\n        False\n    ],\n    'isShared': True,\n    'name': 'Are you safe?',\n    'options': [\n        'No, please call me!',\n        'Atop Mount Olympus'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"expirationPeriod\": 36000,\n         \"initiateTrackingOptions\": [\n             true,\n             false\n         ],\n         \"isShared\": true,\n         \"name\": \"Are you safe?\",\n         \"options\": [\n             \"No, please call me!\",\n             \"Atop Mount Olympus\"\n         ]}'\n"}],"description":"Updates an existing confirmation request.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Requests"]},"delete":{"summary":"Delete a confirmation request","operationId":"deleteConfirmationRequest","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Requests"]}},"/v1/confirmation-requests/{confirmationRequestId}/clone":{"post":{"summary":"Clone a confirmation request","operationId":"createConfirmationRequestClone","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/confirmation-requests_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_confirmation-requests_clone.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Are you safe? (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Are you safe? (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Are you safe? (Copy)\"}'\n"}],"description":"Creates a copy of the specified Confirmation Request. The name of the new copy is simply the original Confirmation\nRequest’s name with “ (Copy)” appended. In order to perform this operation, the user must have both `POST` permission to\nthe `/confirmation-requests` resource and `GET` permission to the Confirmation Request they wish to copy.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Requests"]}},"/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies":{"get":{"summary":"List all confirmation request dynamic replies","operationId":"getConfirmationRequestDynamicReplies","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_confirmation-requests_dynamic-replies.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of the dynamic replies attached to a specific [Confirmation Request](#tag--Confirmation-Requests).<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Dynamic Replies"]},"post":{"summary":"Create a confirmation request dynamic reply","operationId":"createConfirmationRequestDynamicReply","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/confirmation-requests_dynamic-replies.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_confirmation-requests_dynamic-replies.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field optionLabel is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'every': 'Get inside!',\n    'optionLabel': 'I am safe: outside building'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'every': 'Get inside!',\n    'optionLabel': 'I am safe: outside building'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"every\": \"Get inside!\",\n         \"optionLabel\": \"I am safe: outside building\"}'\n"}],"description":"Adds a trigger to be immediately sent when a user responds to a [Notification](#tag--Notifications) with a [Confirmation Request](#tag--Confirmation-Requests) specifically matching the expected optionLabel field.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Dynamic Replies"]}},"/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}":{"get":{"summary":"Get a confirmation request dynamic reply","operationId":"getConfirmationRequestDynamicReply","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"dynamicReplyId","in":"path","description":"The dynamic reply id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_confirmation-requests_dynamic-replies.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a particular dynamic reply based on its `id` and the `id` of its confirmation request. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Dynamic Replies"]},"put":{"summary":"Update a confirmation request dynamic reply","operationId":"updateConfirmationRequestDynamicReply","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"dynamicReplyId","in":"path","description":"The dynamic reply id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/confirmation-requests_dynamic-replies.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_confirmation-requests_dynamic-replies.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field confirmationRequestId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'every': 'Get inside!',\n    'optionLabel': 'I am safe: outside building'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'every': 'Get inside!',\n    'optionLabel': 'I am safe: outside building'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"every\": \"Get inside!\",\n         \"optionLabel\": \"I am safe: outside building\"}'\n"}],"description":"Modifies an existing dynamic reply.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Dynamic Replies"]},"delete":{"summary":"Delete a confirmation request dynamic reply","operationId":"deleteConfirmationRequestDynamicReply","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"dynamicReplyId","in":"path","description":"The dynamic reply id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/dynamic-replies/{dynamicReplyId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a dynamic reply from a confirmation request.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Dynamic Replies"]}},"/v1/confirmation-requests/{confirmationRequestId}/escalation-rules":{"get":{"summary":"List all confirmation request escalation rules","operationId":"getConfirmationRequestEscalationRules","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of the escalation rules attached to a specific [Confirmation Request](#tag--Confirmation-Requests).<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Escalation Rules"]},"post":{"summary":"Create a confirmation request escalation rule","operationId":"createConfirmationRequestEscalationRule","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field delay is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'areaOfInterestIds': [\n        'b103e6bd-becd-11ee-9ee1-cb32bf4aacac'\n    ],\n    'body': 'Be on the lookout',\n    'collaborationGroupIds': [\n        'b0c8163c-becd-11ee-9ee1-f903c1e257f9'\n    ],\n    'comparison': 'LT',\n    'comparisonValue': 1,\n    'delay': 3600,\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'optionLabel': 'Yes, I have seen the intruder',\n    'subject': 'Still no sightings',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'areaOfInterestIds': [\n        'b103e6bd-becd-11ee-9ee1-cb32bf4aacac'\n    ],\n    'body': 'Be on the lookout',\n    'collaborationGroupIds': [\n        'b0c8163c-becd-11ee-9ee1-f903c1e257f9'\n    ],\n    'comparison': 'LT',\n    'comparisonValue': 1,\n    'delay': 3600,\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'optionLabel': 'Yes, I have seen the intruder',\n    'subject': 'Still no sightings',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"areaOfInterestIds\": [\n             \"b103e6bd-becd-11ee-9ee1-cb32bf4aacac\"\n         ],\n         \"body\": \"Be on the lookout\",\n         \"collaborationGroupIds\": [\n             \"b0c8163c-becd-11ee-9ee1-f903c1e257f9\"\n         ],\n         \"comparison\": \"LT\",\n         \"comparisonValue\": 1,\n         \"delay\": 3600,\n         \"deviceGroupIds\": [\n             \"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"\n         ],\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"optionLabel\": \"Yes, I have seen the intruder\",\n         \"subject\": \"Still no sightings\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Adds a trigger to be evaluated when a certain amount of time has elapsed since sending a\n[Notification](#tag--Notifications) with a [Confirmation Request](#tag--Confirmation-Requests). At that\ntime, the responses which have been received to the confirmation request are compared with the escalation rule, and if\nthe rule is matched, a followup notification is sent.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Escalation Rules"]}},"/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}":{"get":{"summary":"Get a confirmation request escalation rule","operationId":"getConfirmationRequestEscalationRule","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"escalationRuleId","in":"path","description":"The escalation rule id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a particular escalation rule based on its `id` and the id of its confirmation request. Since this is not a list\nrequest, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Escalation Rules"]},"put":{"summary":"Update a confirmation request escalation rule","operationId":"updateConfirmationRequestEscalationRule","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"escalationRuleId","in":"path","description":"The escalation rule id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field confirmationRequestId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'areaOfInterestIds': [\n        'b103e6bd-becd-11ee-9ee1-cb32bf4aacac'\n    ],\n    'body': 'Be on the lookout',\n    'collaborationGroupIds': [\n        'b0c8163c-becd-11ee-9ee1-f903c1e257f9'\n    ],\n    'comparison': 'LT',\n    'comparisonValue': 1,\n    'delay': 3600,\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'optionLabel': 'Yes, I have seen the intruder',\n    'subject': 'Still no sightings',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'areaOfInterestIds': [\n        'b103e6bd-becd-11ee-9ee1-cb32bf4aacac'\n    ],\n    'body': 'Be on the lookout',\n    'collaborationGroupIds': [\n        'b0c8163c-becd-11ee-9ee1-f903c1e257f9'\n    ],\n    'comparison': 'LT',\n    'comparisonValue': 1,\n    'delay': 3600,\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'optionLabel': 'Yes, I have seen the intruder',\n    'subject': 'Still no sightings',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"areaOfInterestIds\": [\n             \"b103e6bd-becd-11ee-9ee1-cb32bf4aacac\"\n         ],\n         \"body\": \"Be on the lookout\",\n         \"collaborationGroupIds\": [\n             \"b0c8163c-becd-11ee-9ee1-f903c1e257f9\"\n         ],\n         \"comparison\": \"LT\",\n         \"comparisonValue\": 1,\n         \"delay\": 3600,\n         \"deviceGroupIds\": [\n             \"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"\n         ],\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"optionLabel\": \"Yes, I have seen the intruder\",\n         \"subject\": \"Still no sightings\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Modifies an existing escalation rule.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Escalation Rules"]},"delete":{"summary":"Delete a confirmation request escalation rule","operationId":"deleteConfirmationRequestEscalationRule","parameters":[{"name":"confirmationRequestId","in":"path","description":"The confirmation request id path parameter","required":true,"schema":{"type":"string"}},{"name":"escalationRuleId","in":"path","description":"The escalation rule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/confirmation-requests/{confirmationRequestId}/escalation-rules/{escalationRuleId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes an escalation rule from a confirmation request.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Confirmation Request Escalation Rules"]}},"/v1/cucm-clusters":{"get":{"summary":"List all CUCM Clusters","operationId":"getCucmClusters","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"axlAddress","in":"query","description":"A comma-delimited list of IP Addresses that InformaCast Fusion will try when contacting the Administrative XML (AXL) service. These will always be tried in priority order, from left to right.","schema":{"type":"string","maximum":255},"example":"172.30.207.49"},{"name":"axlId","in":"query","description":"If this cluster was imported from an earlier version of InformaCast Fusion, will display the CUCM cluster ID from the AXL service","schema":{"type":"string"},"example":"qa-ucm14s"},{"name":"cucmClusterFusionServerId","in":"query","description":"Filter to include only the CUCM associated with the CUCM Cluster Fusion Server ID","schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the CUCM cluster","schema":{"type":"string","maximum":255},"example":"West Cluster"},{"name":"q","in":"query","description":"Perform a term (stemming) search on CUCM Cluster names","schema":{"type":"string"},"example":"safe"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/cucm-clusters.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all CUCM cluster configurations available to the current user. (The [User Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. Controlling access to CUCM clusters allows only those acting in an administrative capacity to modify these settings.)","tags":["CUCM Clusters"]},"post":{"summary":"Create a CUCM Cluster","operationId":"createCucmCluster","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/cucm-clusters.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cucm-clusters.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'axlAddress': '172.30.207.49',\n    'axlUser': 'axlUser',\n    'capfAddress': '172.30.207.49',\n    'capfPort': 3804,\n    'name': 'West Cluster',\n    'secureConnection': true,\n    'snmpCommunity': 'ICVA',\n    'snmpVersion': '2',\n    'tftpAddress': '172.30.207.49',\n    'tftpPort': 68\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'axlAddress': '172.30.207.49',\n    'axlUser': 'axlUser',\n    'capfAddress': '172.30.207.49',\n    'capfPort': 3804,\n    'name': 'West Cluster',\n    'secureConnection': True,\n    'snmpCommunity': 'ICVA',\n    'snmpVersion': '2',\n    'tftpAddress': '172.30.207.49',\n    'tftpPort': 68\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"axlAddress\": \"172.30.207.49\",\n         \"axlUser\": \"axlUser\",\n         \"capfAddress\": \"172.30.207.49\",\n         \"capfPort\": 3804,\n         \"name\": \"West Cluster\",\n         \"secureConnection\": true,\n         \"snmpCommunity\": \"ICVA\",\n         \"snmpVersion\": \"2\",\n         \"tftpAddress\": \"172.30.207.49\",\n         \"tftpPort\": 68}'\n"}],"description":"Creates a new CUCM Cluster global configuration, which can be shared across multiple Fusion Servers","tags":["CUCM Clusters"]}},"/v1/cucm-clusters/{cucmClusterId}":{"get":{"summary":"Get a CUCM Cluster","operationId":"getCucmCluster","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cucm-clusters.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single CUCM Cluster by its `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["CUCM Clusters"]},"put":{"summary":"Update a CUCM Cluster","operationId":"updateCucmCluster","parameters":[{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/cucm-clusters.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cucm-clusters.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'axlAddress': '172.30.207.49',\n    'axlUser': 'axlUser',\n    'capfAddress': '172.30.207.49',\n    'capfPort': 3804,\n    'name': 'West Cluster',\n    'secureConnection': true,\n    'snmpCommunity': 'ICVA',\n    'snmpVersion': '2',\n    'tftpAddress': '172.30.207.49',\n    'tftpPort': 68\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'axlAddress': '172.30.207.49',\n    'axlUser': 'axlUser',\n    'capfAddress': '172.30.207.49',\n    'capfPort': 3804,\n    'name': 'West Cluster',\n    'secureConnection': True,\n    'snmpCommunity': 'ICVA',\n    'snmpVersion': '2',\n    'tftpAddress': '172.30.207.49',\n    'tftpPort': 68\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"axlAddress\": \"172.30.207.49\",\n         \"axlUser\": \"axlUser\",\n         \"capfAddress\": \"172.30.207.49\",\n         \"capfPort\": 3804,\n         \"name\": \"West Cluster\",\n         \"secureConnection\": true,\n         \"snmpCommunity\": \"ICVA\",\n         \"snmpVersion\": \"2\",\n         \"tftpAddress\": \"172.30.207.49\",\n         \"tftpPort\": 68}'\n"}],"description":"Updates a new CUCM Cluster global configuration, which can be shared across multiple Fusion Servers","tags":["CUCM Clusters"]},"delete":{"summary":"Remove a CUCM Cluster","operationId":"deleteCucmCluster","parameters":[{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["CUCM Clusters"]}},"/v1/cucm-clusters/{cucmClusterId}/fusion-servers":{"get":{"summary":"List all Fusion Server configurations for a CUCM Cluster","operationId":"getCucmClusterFusionServers","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateIds","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously it indicated whether to add sync state ids to each record","schema":{"type":"boolean"},"deprecated":true},{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/cucm-clusters_fusion-servers.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all Fusion Server configurations for a particular CUCM cluster available to the current user. (The\n[User Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user\nattached to the access token, may limit the resources returned. Controlling access to CUCM clusters allows only those\nacting in an administrative capacity to modify these settings.)","tags":["CUCM Cluster Fusion Servers"]},"post":{"summary":"Create a CUCM Cluster Fusion Server Configuration","operationId":"createCucmClusterFusionServer","parameters":[{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/cucm-clusters_fusion-servers.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cucm-clusters_fusion-servers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field endpointId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'cmAddress': '172.30.207.49',\n    'cmPassword': 'cmPassword',\n    'cmUsername': 'cmUser',\n    'endpointId': '817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa',\n    'jtapiPhoneActivationEnabled': false,\n    'jtapiStaticTerminalsEnabled': false,\n    'makeCtiConnection': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'cmAddress': '172.30.207.49',\n    'cmPassword': 'cmPassword',\n    'cmUsername': 'cmUser',\n    'endpointId': '817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa',\n    'jtapiPhoneActivationEnabled': False,\n    'jtapiStaticTerminalsEnabled': False,\n    'makeCtiConnection': True\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"cmAddress\": \"172.30.207.49\",\n         \"cmPassword\": \"cmPassword\",\n         \"cmUsername\": \"cmUser\",\n         \"endpointId\": \"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa\",\n         \"jtapiPhoneActivationEnabled\": false,\n         \"jtapiStaticTerminalsEnabled\": false,\n         \"makeCtiConnection\": true}'\n"}],"description":"Creates a new CUCM Cluster Fusion Server configuration, with fields that need to be unique to a single Fusion Server","tags":["CUCM Cluster Fusion Servers"]}},"/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}":{"get":{"summary":"Get a Fusion Server configuration for a CUCM Cluster","operationId":"getCucmClusterFusionServer","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateIds","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously it indicated whether to add sync state ids to each record","schema":{"type":"boolean"},"deprecated":true},{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}},{"name":"fusionServerId","in":"path","description":"The fusion server id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cucm-clusters_fusion-servers.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single CUCM Cluster Fusion server configuration by its `id`. Since this is not a list request, there is no\npagination wrapper around the result.","tags":["CUCM Cluster Fusion Servers"]},"put":{"summary":"Update a CUCM Cluster Fusion Server Configuration","operationId":"updateCucmClusterFusionServer","parameters":[{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}},{"name":"fusionServerId","in":"path","description":"The fusion server id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/cucm-clusters_fusion-servers.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cucm-clusters_fusion-servers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field endpointId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'cmAddress': '172.30.207.49',\n    'cmPassword': 'cmPassword',\n    'cmUsername': 'cmUser',\n    'endpointId': '817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa',\n    'jtapiPhoneActivationEnabled': false,\n    'jtapiStaticTerminalsEnabled': false,\n    'makeCtiConnection': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'cmAddress': '172.30.207.49',\n    'cmPassword': 'cmPassword',\n    'cmUsername': 'cmUser',\n    'endpointId': '817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa',\n    'jtapiPhoneActivationEnabled': False,\n    'jtapiStaticTerminalsEnabled': False,\n    'makeCtiConnection': True\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"cmAddress\": \"172.30.207.49\",\n         \"cmPassword\": \"cmPassword\",\n         \"cmUsername\": \"cmUser\",\n         \"endpointId\": \"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa\",\n         \"jtapiPhoneActivationEnabled\": false,\n         \"jtapiStaticTerminalsEnabled\": false,\n         \"makeCtiConnection\": true}'\n"}],"description":"Updates an existing CUCM Cluster Fusion Server configuration, with fields that need to be unique to a single Fusion Server","tags":["CUCM Cluster Fusion Servers"]},"delete":{"summary":"Remove a CUCM Cluster Fusion Server Configuration","operationId":"deleteCucmClusterFusionServer","parameters":[{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}},{"name":"fusionServerId","in":"path","description":"The fusion server id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["CUCM Cluster Fusion Servers"]}},"/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}/phone-gatherer":{"post":{"summary":"Set Phone Gatherer","operationId":"createCucmClusterFusionServerPhoneGatherer","parameters":[{"name":"cucmClusterId","in":"path","description":"The cucm cluster id path parameter","required":true,"schema":{"type":"string"}},{"name":"fusionServerId","in":"path","description":"The fusion server id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/cucm-clusters_fusion-servers_phone-gatherer.request"}}}},"responses":{"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"description":"A successful response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}/phone-gatherer\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}/phone-gatherer\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/cucm-clusters/{cucmClusterId}/fusion-servers/{fusionServerId}/phone-gatherer\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"Sets the given endpoint to be the phone gatherer for given CUCM. Note: There can only be one phone gatherer per CUCM so when a new phone gatherer is set, the previous phone gatherer server is unset. Failover backup servers cannot be set as the phone gatherer.","tags":["CUCM Cluster Fusion Servers"]}},"/v1/device-groups":{"get":{"summary":"List all device groups","operationId":"getDeviceGroups","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if true, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateForEndpoint","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if true, include the current synchronization state for a specific fusion endpoint","schema":{"type":"string","format":"uuid"},"deprecated":true},{"name":"facilityId","in":"query","description":"The ID of the facility this device group belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeDeviceCounts","in":"query","description":"An opt-in query param required when device counts are needed","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this device group belongs","schema":{"type":"boolean"},"example":true},{"name":"isShared","in":"query","description":"Denotes whether or not this device group is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of device group","schema":{"type":"string","maximum":140},"example":"All Staff Phones"},{"name":"q","in":"query","description":"Perform a term (stemming) search on the device groups name","schema":{"type":"string"}},{"name":"sort","in":"query","description":"Sorts device groups by name (default: ascending by name)","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_device-groups-response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all Device Groups available to the current user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. Controlling access to device groups allows administrators to decide to whom users can send notifications.)","tags":["Device Groups"]},"post":{"summary":"Create a device group","operationId":"createDeviceGroup","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/device-groups.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_device-groups-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'additionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'baseDeviceGroupIds': [\n        '9fb8c937-fd05-11e6-a30e-e198ed79b70a'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'filterType': 'REJECT',\n    'filters': [{\n            'attribute': 'EndUserIdentifier',\n            'caseSensitive': false,\n            'comparison': 'EQUALS',\n            'complement': false,\n            'value': 'John'\n        }],\n    'isShared': true,\n    'logicalExpression': '(1 AND 2)',\n    'name': 'All Staff Phones'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'additionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'baseDeviceGroupIds': [\n        '9fb8c937-fd05-11e6-a30e-e198ed79b70a'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'filterType': 'REJECT',\n    'filters': [{\n            'attribute': 'EndUserIdentifier',\n            'caseSensitive': False,\n            'comparison': 'EQUALS',\n            'complement': False,\n            'value': 'John'\n        }],\n    'isShared': True,\n    'logicalExpression': '(1 AND 2)',\n    'name': 'All Staff Phones'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"additionIds\": [\n             \"CiscoPhone-External:SEP381C1ABA7908\"\n         ],\n         \"baseDeviceGroupIds\": [\n             \"9fb8c937-fd05-11e6-a30e-e198ed79b70a\"\n         ],\n         \"exclusionIds\": [\n             \"CiscoPhone-External:SEP381C1ABA7908\"\n         ],\n         \"filterType\": \"REJECT\",\n         \"filters\": [{\n                 \"attribute\": \"EndUserIdentifier\",\n                 \"caseSensitive\": false,\n                 \"comparison\": \"EQUALS\",\n                 \"complement\": false,\n                 \"value\": \"John\"\n             }],\n         \"isShared\": true,\n         \"logicalExpression\": \"(1 AND 2)\",\n         \"name\": \"All Staff Phones\"}'\n"}],"description":"Creates a new Device Group (limit: 3500). In order to be useful, the filters (limit: 200 per Device Group) or additions should match at least one [Permissions](#tag--Devices)","tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}":{"get":{"summary":"Get a device group","operationId":"getDeviceGroup","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if true, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateForEndpoint","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if true, include the current synchronization state for a specific fusion endpoint","schema":{"type":"string","format":"uuid"},"deprecated":true},{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDeviceCounts","in":"query","description":"An opt-in query param required when device counts are needed","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this device group belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_device-groups-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Device Group by its `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Device Groups"]},"put":{"summary":"Update a device group","operationId":"updateDeviceGroup","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/device-groups.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_device-groups-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'additionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'baseDeviceGroupIds': [\n        '9fb8c937-fd05-11e6-a30e-e198ed79b70a'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'filterType': 'REJECT',\n    'filters': [{\n            'attribute': 'EndUserIdentifier',\n            'caseSensitive': false,\n            'comparison': 'EQUALS',\n            'complement': false,\n            'value': 'John'\n        }],\n    'isShared': true,\n    'logicalExpression': '(1 AND 2)',\n    'name': 'All Staff Phones'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'additionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'baseDeviceGroupIds': [\n        '9fb8c937-fd05-11e6-a30e-e198ed79b70a'\n    ],\n    'exclusionIds': [\n        'CiscoPhone-External:SEP381C1ABA7908'\n    ],\n    'filterType': 'REJECT',\n    'filters': [{\n            'attribute': 'EndUserIdentifier',\n            'caseSensitive': False,\n            'comparison': 'EQUALS',\n            'complement': False,\n            'value': 'John'\n        }],\n    'isShared': True,\n    'logicalExpression': '(1 AND 2)',\n    'name': 'All Staff Phones'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"additionIds\": [\n             \"CiscoPhone-External:SEP381C1ABA7908\"\n         ],\n         \"baseDeviceGroupIds\": [\n             \"9fb8c937-fd05-11e6-a30e-e198ed79b70a\"\n         ],\n         \"exclusionIds\": [\n             \"CiscoPhone-External:SEP381C1ABA7908\"\n         ],\n         \"filterType\": \"REJECT\",\n         \"filters\": [{\n                 \"attribute\": \"EndUserIdentifier\",\n                 \"caseSensitive\": false,\n                 \"comparison\": \"EQUALS\",\n                 \"complement\": false,\n                 \"value\": \"John\"\n             }],\n         \"isShared\": true,\n         \"logicalExpression\": \"(1 AND 2)\",\n         \"name\": \"All Staff Phones\"}'\n"}],"description":"Modifies the details of the Device Group","tags":["Device Groups"]},"delete":{"summary":"Delete a device group","operationId":"deleteDeviceGroup","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a Device Group by `id`, discarding its Device information","tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/alarm-action-dependents":{"get":{"summary":"List all device group alarm action dependents","operationId":"getDeviceGroupAlarmActionDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_alarm-action-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/alarm-action-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/alarm-action-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/alarm-action-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/base-device-group-dependents":{"get":{"summary":"List all device group base device group dependents","operationId":"getDeviceGroupBaseDeviceGroupDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_base-device-group-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/base-device-group-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/base-device-group-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/base-device-group-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/callaware-call-redirect-dependents":{"get":{"summary":"List all device group callaware call redirect dependents","operationId":"getDeviceGroupCallawareCallRedirectDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_callaware-call-redirect-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/callaware-call-redirect-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/callaware-call-redirect-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/callaware-call-redirect-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/callaware-routing-request-dependents":{"get":{"summary":"List all device group callaware routing request dependents","operationId":"getDeviceGroupCallawareRoutingRequestDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_callaware-routing-request-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/callaware-routing-request-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/callaware-routing-request-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/callaware-routing-request-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/clone":{"post":{"summary":"Clone a Device Group","operationId":"createDeviceGroupClone","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/device-groups_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_device-groups_clone.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'All Staff Phones (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'All Staff Phones (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"All Staff Phones (Copy)\"}'\n"}],"description":"Creates a copy of the specified Device Group. The name of the new copy is simply the original Device Group’s name with “(Copy)” appended. In order to perform this operation, the user must have both `POST` permission to the `/device-groups` resource and `GET` permission to the Device Group they wish to copy.","tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/dialcast-dialing-configuration-dependents":{"get":{"summary":"List all device group dialcast dialing configuration dependents","operationId":"getDeviceGroupDialcastDialingConfigurationDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_dialcast-dialing-configuration-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/dialcast-dialing-configuration-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/dialcast-dialing-configuration-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/dialcast-dialing-configuration-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/escalation-rule-dependents":{"get":{"summary":"List all device group escalation rule dependents","operationId":"getDeviceGroupEscalationRuleDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_escalation-rule-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/escalation-rule-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/escalation-rule-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/escalation-rule-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/message-template-dependents":{"get":{"summary":"List all device group message template dependents","operationId":"getDeviceGroupMessageTemplateDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_message-template-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/message-template-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/message-template-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/message-template-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/night-bell-dependents":{"get":{"summary":"List all device group night bell dependents","operationId":"getDeviceGroupNightBellDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_night-bell-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/night-bell-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/night-bell-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/night-bell-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/ring-list-dependents":{"get":{"summary":"List all device group ring list dependents","operationId":"getDeviceGroupRingListDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_ring-list-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/ring-list-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/ring-list-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/ring-list-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/scheduled-notification-dependents":{"get":{"summary":"List all device group scheduled notification dependents","operationId":"getDeviceGroupScheduledNotificationDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_scheduled-notification-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/scheduled-notification-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/scheduled-notification-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/scheduled-notification-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/device-groups/{deviceGroupId}/site-role-dependents":{"get":{"summary":"List all device group site role dependents","operationId":"getDeviceGroupSiteRoleDependents","parameters":[{"name":"deviceGroupId","in":"path","description":"The device group id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/device-groups_site-role-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/site-role-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/site-role-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/device-groups/{deviceGroupId}/site-role-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Device Groups"]}},"/v1/devices":{"get":{"summary":"List all devices","operationId":"getDevices","parameters":[{"name":"activationGroup","in":"query","description":"Ad-hoc activation group for filtering devices","schema":{"type":"string","format":"json"}},{"name":"activationGroupId","in":"query","description":"Activation group id for filtering devices","schema":{"type":"string","format":"uuid"}},{"name":"deviceGroup","in":"query","description":"Ad-hoc device group for filtering devices","schema":{"type":"string","format":"json"}},{"name":"deviceGroupId","in":"query","description":"Device group to filter devices with","schema":{"type":"string","format":"uuid"},"example":"9fb8c937-fd05-11e6-a30e-e198ed79b70a"},{"name":"disregardPriority","in":"query","description":"Return devices that exist in a higher priority activation group","schema":{"type":"boolean"}},{"name":"endpointIdToBeReachableBy","in":"query","description":"Filters devices of type phone to only ones that the endpoint-id provided can reach via its CUCM cluster configuration(s)","schema":{"type":"string","format":"uuid"}},{"name":"icopIds","in":"query","description":"Device icop ids by which to filter with","schema":{"type":"string","format":"json"}},{"name":"includeDefunct","in":"query","description":"Whether to include defunct devices","schema":{"type":"boolean"}},{"name":"includeEndpointDetails","in":"query","description":"Add activating endpoint details to each device returned","schema":{"type":"boolean"}},{"name":"includeNonConfiguredSpeakers","in":"query","description":"Whether to include speaker devices that aren't configured","schema":{"type":"boolean"}},{"name":"includeUnregisteredSpeakers","in":"query","description":"Whether to include speaker devices that are unregistered","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"onlyUnallocated","in":"query","description":"If true, only includes devices that are not explicitly allocated to an activation group","schema":{"type":"boolean"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on device descriptions, names, directory numbers, or MAC addresses","schema":{"type":"string"},"example":"Office Phone"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"types","in":"query","description":"Device types by which to partition","schema":{"type":"string","format":"json"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all Fusion devices. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned.)","tags":["Devices"]}},"/v1/devices/{deviceId}":{"get":{"summary":"Get a device","operationId":"getDevice","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single device by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Devices"]}},"/v1/devices/{deviceId}/activation-groups":{"get":{"summary":"List all device activation groups","operationId":"getDeviceActivationGroups","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/devices_activation-groups.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}/activation-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}/activation-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}/activation-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Devices"]}},"/v1/devices/{deviceId}/device-groups":{"get":{"summary":"List all device device groups","operationId":"getDeviceDeviceGroups","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/devices_device-groups.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}/device-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}/device-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/devices/{deviceId}/device-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Devices"]}},"/v1/dialcast-dialing-configurations":{"get":{"summary":"List all dialcast dialing configurations","operationId":"getDialcastDialingConfigurations","parameters":[{"name":"authenticationEnabled","in":"query","description":"Filter resources that have authentication on/off","schema":{"type":"boolean"}},{"name":"dialingPatternRegex","in":"query","description":"A regular expression representing the route point and SIP DNs associated with this dialing configuration, e.g. 6(\\d\\d\\d\\d)$ or 12345","schema":{"type":"string","maximum":50},"example":"6(\\d\\d\\d\\d)$"},{"name":"facilityId","in":"query","description":"The ID of the facility this DialCast Dialing Configuration belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeEndpointIds","in":"query","description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true,"maximum":1024,"minimum":1},"example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"]},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this DialCast Dialing Configuration belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The brief name associated with the DialCast Dialing Configuration","schema":{"type":"string","maximum":255},"example":"Lockdown Pattern"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of DialCast Dialing Configuration","schema":{"type":"string","enum":["NOTIFICATION","ACTIONS_WITH_FALLBACK_NOTIFICATION"],"example":"NOTIFICATION"},"example":"NOTIFICATION"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/dialcast-dialing-configurations.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Dialing Configurations"]},"post":{"summary":"Create a dialcast dialing configuration","operationId":"createDialcastDialingConfiguration","parameters":[{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/dialcast-dialing-configurations.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dialcast-dialing-configurations.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'actions': [[{\n\n            }]],\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'dialingPatternRegex': '6(\\d\\d\\d\\d)$',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'fallbackNotification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'deviceGroups': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'Building A Speakers'\n            }],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionLists': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'All Staff'\n            }],\n        'messageTemplate': {\n            'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n            'name': 'Emergency Broadcast'\n        },\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd'\n    },\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern',\n    'notification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n        'messageTemplateNamePattern': 'Emergency Broadcast for Building $1',\n        'recipientNamePattern': 'West Campus, Building $1'\n    },\n    'type': 'NOTIFICATION'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'actions': [[{\n\n            }]],\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'dialingPatternRegex': '6(\\d\\d\\d\\d)$',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'fallbackNotification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'deviceGroups': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'Building A Speakers'\n            }],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionLists': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'All Staff'\n            }],\n        'messageTemplate': {\n            'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n            'name': 'Emergency Broadcast'\n        },\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd'\n    },\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern',\n    'notification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n        'messageTemplateNamePattern': 'Emergency Broadcast for Building $1',\n        'recipientNamePattern': 'West Campus, Building $1'\n    },\n    'type': 'NOTIFICATION'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"actions\": [[{\n\n                 }]],\n         \"authentication\": {\n             \"pin\": \"1234\",\n             \"type\": \"PIN\"\n         },\n         \"dialingPatternRegex\": \"6(\\d\\d\\d\\d)$\",\n         \"endpointIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"fallbackNotification\": {\n             \"deviceGroupIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"deviceGroups\": [{\n                     \"id\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n                     \"name\": \"Building A Speakers\"\n                 }],\n             \"distributionListIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"distributionLists\": [{\n                     \"id\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n                     \"name\": \"All Staff\"\n                 }],\n             \"messageTemplate\": {\n                 \"id\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n                 \"name\": \"Emergency Broadcast\"\n             },\n             \"messageTemplateId\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"\n         },\n         \"includeEndpointIds\": [\n             \"null\",\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"name\": \"Lockdown Pattern\",\n         \"notification\": {\n             \"deviceGroupIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"distributionListIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"messageTemplateId\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n             \"messageTemplateNamePattern\": \"Emergency Broadcast for Building $1\",\n             \"recipientNamePattern\": \"West Campus, Building $1\"\n         },\n         \"type\": \"NOTIFICATION\"}'\n"}],"tags":["DialCast Dialing Configurations"]}},"/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}":{"get":{"summary":"Get a dialcast dialing configuration","operationId":"getDialcastDialingConfiguration","parameters":[{"name":"dialcastDialingConfigurationId","in":"path","description":"The dialcast dialing configuration id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this DialCast Dialing Configuration belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dialcast-dialing-configurations.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Dialing Configurations"]},"put":{"summary":"Update a dialcast dialing configuration","operationId":"updateDialcastDialingConfiguration","parameters":[{"name":"dialcastDialingConfigurationId","in":"path","description":"The dialcast dialing configuration id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/dialcast-dialing-configurations.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dialcast-dialing-configurations.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'actions': [[{\n\n            }]],\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'dialingPatternRegex': '6(\\d\\d\\d\\d)$',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'fallbackNotification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'deviceGroups': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'Building A Speakers'\n            }],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionLists': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'All Staff'\n            }],\n        'messageTemplate': {\n            'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n            'name': 'Emergency Broadcast'\n        },\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd'\n    },\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern',\n    'notification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n        'messageTemplateNamePattern': 'Emergency Broadcast for Building $1',\n        'recipientNamePattern': 'West Campus, Building $1'\n    },\n    'type': 'NOTIFICATION'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'actions': [[{\n\n            }]],\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'dialingPatternRegex': '6(\\d\\d\\d\\d)$',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'fallbackNotification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'deviceGroups': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'Building A Speakers'\n            }],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionLists': [{\n                'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n                'name': 'All Staff'\n            }],\n        'messageTemplate': {\n            'id': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n            'name': 'Emergency Broadcast'\n        },\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd'\n    },\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern',\n    'notification': {\n        'deviceGroupIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'distributionListIds': ['551de6ae-3d36-11e6-834a-3d1fcb19aadd'],\n        'messageTemplateId': '551de6ae-3d36-11e6-834a-3d1fcb19aadd',\n        'messageTemplateNamePattern': 'Emergency Broadcast for Building $1',\n        'recipientNamePattern': 'West Campus, Building $1'\n    },\n    'type': 'NOTIFICATION'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"actions\": [[{\n\n                 }]],\n         \"authentication\": {\n             \"pin\": \"1234\",\n             \"type\": \"PIN\"\n         },\n         \"dialingPatternRegex\": \"6(\\d\\d\\d\\d)$\",\n         \"endpointIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"fallbackNotification\": {\n             \"deviceGroupIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"deviceGroups\": [{\n                     \"id\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n                     \"name\": \"Building A Speakers\"\n                 }],\n             \"distributionListIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"distributionLists\": [{\n                     \"id\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n                     \"name\": \"All Staff\"\n                 }],\n             \"messageTemplate\": {\n                 \"id\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n                 \"name\": \"Emergency Broadcast\"\n             },\n             \"messageTemplateId\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"\n         },\n         \"includeEndpointIds\": [\n             \"null\",\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"name\": \"Lockdown Pattern\",\n         \"notification\": {\n             \"deviceGroupIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"distributionListIds\": [\"551de6ae-3d36-11e6-834a-3d1fcb19aadd\"],\n             \"messageTemplateId\": \"551de6ae-3d36-11e6-834a-3d1fcb19aadd\",\n             \"messageTemplateNamePattern\": \"Emergency Broadcast for Building $1\",\n             \"recipientNamePattern\": \"West Campus, Building $1\"\n         },\n         \"type\": \"NOTIFICATION\"}'\n"}],"tags":["DialCast Dialing Configurations"]},"delete":{"summary":"Delete a dialcast dialing configuration","operationId":"deleteDialcastDialingConfiguration","parameters":[{"name":"dialcastDialingConfigurationId","in":"path","description":"The dialcast dialing configuration id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Dialing Configurations"]}},"/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions":{"get":{"summary":"List all dialcast dialing configuration rule actions","operationId":"getDialcastDialingConfigurationRuleActions","parameters":[{"name":"dialcastDialingConfigurationId","in":"path","description":"The dialcast dialing configuration id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/dialcast-dialing-configurations_rule-actions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Dialing Configuration Rule Actions"]}},"/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions/{ruleActionId}":{"get":{"summary":"Get a dialcast dialing configuration rule action","operationId":"getDialcastDialingConfigurationRuleAction","parameters":[{"name":"dialcastDialingConfigurationId","in":"path","description":"The dialcast dialing configuration id path parameter","required":true,"schema":{"type":"string"}},{"name":"ruleActionId","in":"path","description":"The rule action id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dialcast-dialing-configurations_rule-actions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions/{ruleActionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions/{ruleActionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-dialing-configurations/{dialcastDialingConfigurationId}/rule-actions/{ruleActionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Dialing Configuration Rule Actions"]}},"/v1/dialcast-phone-exceptions":{"get":{"summary":"List all dialcast phone exceptions","operationId":"getDialcastPhoneExceptions","parameters":[{"name":"callingPartyRegex","in":"query","description":"A regular expression representing the phone DNs associated with this exception, e.g. 7003[8-9] or 70041","schema":{"type":"string","maximum":50},"example":"7003[8-9]"},{"name":"facilityId","in":"query","description":"The ID of the facility this DialCast Phone Exception belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeEndpointIds","in":"query","description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true,"maximum":1024,"minimum":1},"example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"]},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this DialCast Phone Exception belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The brief name associated with the DialCast Phone Exception","schema":{"type":"string","maximum":255},"example":"Lockdown Pattern Auth"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/dialcast-phone-exceptions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Phone Exceptions"]},"post":{"summary":"Create a dialcast phone exception","operationId":"createDialcastPhoneException","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/dialcast-phone-exceptions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dialcast-phone-exceptions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'authenticationOverrideEnabled': false,\n    'callingPartyRegex': '7003[8-9]',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern Auth',\n    'systemGreetingBreakKeyEnable': false,\n    'systemGreetingEnable': false,\n    'systemGreetingOverrideEnable': false\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'authenticationOverrideEnabled': False,\n    'callingPartyRegex': '7003[8-9]',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern Auth',\n    'systemGreetingBreakKeyEnable': False,\n    'systemGreetingEnable': False,\n    'systemGreetingOverrideEnable': False\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"authentication\": {\n             \"pin\": \"1234\",\n             \"type\": \"PIN\"\n         },\n         \"authenticationOverrideEnabled\": false,\n         \"callingPartyRegex\": \"7003[8-9]\",\n         \"endpointIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"includeEndpointIds\": [\n             \"null\",\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"name\": \"Lockdown Pattern Auth\",\n         \"systemGreetingBreakKeyEnable\": false,\n         \"systemGreetingEnable\": false,\n         \"systemGreetingOverrideEnable\": false}'\n"}],"tags":["DialCast Phone Exceptions"]}},"/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}":{"get":{"summary":"Get a dialcast phone exception","operationId":"getDialcastPhoneException","parameters":[{"name":"dialcastPhoneExceptionId","in":"path","description":"The dialcast phone exception id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this DialCast Phone Exception belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dialcast-phone-exceptions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Phone Exceptions"]},"put":{"summary":"Update a dialcast phone exception","operationId":"updateDialcastPhoneException","parameters":[{"name":"dialcastPhoneExceptionId","in":"path","description":"The dialcast phone exception id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/dialcast-phone-exceptions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dialcast-phone-exceptions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'authenticationOverrideEnabled': false,\n    'callingPartyRegex': '7003[8-9]',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern Auth',\n    'systemGreetingBreakKeyEnable': false,\n    'systemGreetingEnable': false,\n    'systemGreetingOverrideEnable': false\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'authentication': {\n        'pin': '1234',\n        'type': 'PIN'\n    },\n    'authenticationOverrideEnabled': False,\n    'callingPartyRegex': '7003[8-9]',\n    'endpointIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'includeEndpointIds': [\n        'null',\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'name': 'Lockdown Pattern Auth',\n    'systemGreetingBreakKeyEnable': False,\n    'systemGreetingEnable': False,\n    'systemGreetingOverrideEnable': False\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"authentication\": {\n             \"pin\": \"1234\",\n             \"type\": \"PIN\"\n         },\n         \"authenticationOverrideEnabled\": false,\n         \"callingPartyRegex\": \"7003[8-9]\",\n         \"endpointIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"includeEndpointIds\": [\n             \"null\",\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"name\": \"Lockdown Pattern Auth\",\n         \"systemGreetingBreakKeyEnable\": false,\n         \"systemGreetingEnable\": false,\n         \"systemGreetingOverrideEnable\": false}'\n"}],"tags":["DialCast Phone Exceptions"]},"delete":{"summary":"Delete a dialcast phone exception","operationId":"deleteDialcastPhoneException","parameters":[{"name":"dialcastPhoneExceptionId","in":"path","description":"The dialcast phone exception id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/dialcast-phone-exceptions/{dialcastPhoneExceptionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["DialCast Phone Exceptions"]}},"/v1/distribution-lists":{"get":{"summary":"List all distribution lists","operationId":"getDistributionLists","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateForEndpoint","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for a specific fusion endpoint","schema":{"type":"string","format":"uuid"},"deprecated":true},{"name":"facilityId","in":"query","description":"The ID of the facility this distribution list belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this distribution list belongs","schema":{"type":"boolean"},"example":true},{"name":"isShared","in":"query","description":"Denotes whether or not this distribution list is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"sort","in":"query","description":"Sorts distribution list list by name","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all distribution lists available to the current user.\n(The [permissions](#tag--User-Permissions) and [security groups](#tag--Security-Groups)\nassociated with the request, through\nthe user attached to the access token, may limit the resources\nreturned. Controlling access to distribution lists allows\nadministrators to decide to whom users can send notifications.)","tags":["Distribution Lists"]},"post":{"summary":"Create a distribution list","operationId":"createDistributionList","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/distribution-lists.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/distribution-lists.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'campaign': {\n        'defaultNotificationDays': 5,\n        'inactiveMessage': 'The competition is over',\n        'subscribeTag': '#coffeetime',\n        'welcomeMessage': 'Welcome to the World Barista Championship'\n    },\n    'isShared': true,\n    'isSubscribable': true,\n    'name': 'Baristas'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'campaign': {\n        'defaultNotificationDays': 5,\n        'inactiveMessage': 'The competition is over',\n        'subscribeTag': '#coffeetime',\n        'welcomeMessage': 'Welcome to the World Barista Championship'\n    },\n    'isShared': True,\n    'isSubscribable': True,\n    'name': 'Baristas'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"campaign\": {\n             \"defaultNotificationDays\": 5,\n             \"inactiveMessage\": \"The competition is over\",\n             \"subscribeTag\": \"#coffeetime\",\n             \"welcomeMessage\": \"Welcome to the World Barista Championship\"\n         },\n         \"isShared\": true,\n         \"isSubscribable\": true,\n         \"name\": \"Baristas\"}'\n"}],"description":"Creates a new, empty, distribution list (limit: 3500). In order to be\nuseful, [users](#tag--Users) will need to be [subscribed](#tag--Distribution-List-User-Subscriptions) to the new list\n(limit: 100,000 per Distribution List). Users can also subscribe to\nthe Distribution List if `isSubscribable` is set to `true`.","tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}":{"get":{"summary":"Get a distribution list","operationId":"getDistributionList","parameters":[{"name":"assocSyncState","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for fusion endpoints","schema":{"type":"boolean"},"deprecated":true},{"name":"assocSyncStateForEndpoint","in":"query","description":"Deprecated because as of 14.17.1 this synchronization state is no longer a meaningful concept. Previously if `true`, include the current synchronization state for a specific fusion endpoint","schema":{"type":"string","format":"uuid"},"deprecated":true},{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this distribution list belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/distribution-lists.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single distribution list by its `id`. Since this is not a list request,\nthere is no pagination wrapper around the result.","tags":["Distribution Lists"]},"put":{"summary":"Update a distribution list","operationId":"updateDistributionList","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/distribution-lists.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/distribution-lists.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'campaign': {\n        'defaultNotificationDays': 5,\n        'inactiveMessage': 'The competition is over',\n        'subscribeTag': '#coffeetime',\n        'welcomeMessage': 'Welcome to the World Barista Championship'\n    },\n    'isShared': true,\n    'isSubscribable': true,\n    'name': 'Baristas'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'campaign': {\n        'defaultNotificationDays': 5,\n        'inactiveMessage': 'The competition is over',\n        'subscribeTag': '#coffeetime',\n        'welcomeMessage': 'Welcome to the World Barista Championship'\n    },\n    'isShared': True,\n    'isSubscribable': True,\n    'name': 'Baristas'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"campaign\": {\n             \"defaultNotificationDays\": 5,\n             \"inactiveMessage\": \"The competition is over\",\n             \"subscribeTag\": \"#coffeetime\",\n             \"welcomeMessage\": \"Welcome to the World Barista Championship\"\n         },\n         \"isShared\": true,\n         \"isSubscribable\": true,\n         \"name\": \"Baristas\"}'\n"}],"description":"Modifies the name or campaign of a distribution list.","tags":["Distribution Lists"]},"delete":{"summary":"Delete a distribution list","operationId":"deleteDistributionList","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a distribution list, discarding its membership information.","tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/alarm-action-dependents":{"get":{"summary":"List all distribution list alarm action dependents","operationId":"getDistributionListAlarmActionDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_alarm-action-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/alarm-action-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/alarm-action-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/alarm-action-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/area-of-interest-boundary-trigger-dependents":{"get":{"summary":"List all distribution list area of interest boundary trigger dependents","operationId":"getDistributionListAreaOfInterestBoundaryTriggerDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_area-of-interest-boundary-trigger-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/area-of-interest-boundary-trigger-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/area-of-interest-boundary-trigger-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/area-of-interest-boundary-trigger-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/callaware-call-redirect-dependents":{"get":{"summary":"List all distribution list callaware call redirect dependents","operationId":"getDistributionListCallawareCallRedirectDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_callaware-call-redirect-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/callaware-call-redirect-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/callaware-call-redirect-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/callaware-call-redirect-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/callaware-routing-request-dependents":{"get":{"summary":"List all distribution list callaware routing request dependents","operationId":"getDistributionListCallawareRoutingRequestDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_callaware-routing-request-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/callaware-routing-request-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/callaware-routing-request-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/callaware-routing-request-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/clone":{"post":{"summary":"Clone a Distribution List","operationId":"createDistributionListClone","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/distribution-lists_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_distribution-lists_clone.post-response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Baristas (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Baristas (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Baristas (Copy)\"}'\n"}],"description":"Creates a copy of the specified Distribution List. The name of the\nnew copy is simply the original Distribution List's name with \" (Copy)\"\nappended. In order to perform this operation, the user must have both\n`POST` permission to the `/distribution-lists` resource and `GET` permission\nto the Distribution List they wish to copy.\n\nNote that subscribable distribution lists and distribution lists that have a campaign\nattached cannot be copied.","tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/collaboration-group-dependents":{"get":{"summary":"List all distribution list collaboration group dependents","operationId":"getDistributionListCollaborationGroupDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_collaboration-group-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/collaboration-group-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/collaboration-group-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/collaboration-group-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/dialcast-dialing-configuration-dependents":{"get":{"summary":"List all distribution list dialcast dialing configuration dependents","operationId":"getDistributionListDialcastDialingConfigurationDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_dialcast-dialing-configuration-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/dialcast-dialing-configuration-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/dialcast-dialing-configuration-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/dialcast-dialing-configuration-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/escalation-rule-dependents":{"get":{"summary":"List all distribution list escalation rule dependents","operationId":"getDistributionListEscalationRuleDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_escalation-rule-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/escalation-rule-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/escalation-rule-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/escalation-rule-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/inbound-email-rule-dependents":{"get":{"summary":"List all distribution list inbound email rule dependents","operationId":"getDistributionListInboundEmailRuleDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_inbound-email-rule-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/inbound-email-rule-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/inbound-email-rule-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/inbound-email-rule-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/message-template-dependents":{"get":{"summary":"List all distribution list message template dependents","operationId":"getDistributionListMessageTemplateDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_message-template-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/message-template-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/message-template-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/message-template-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/night-bell-dependents":{"get":{"summary":"List all distribution list night bell dependents","operationId":"getDistributionListNightBellDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_night-bell-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/night-bell-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/night-bell-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/night-bell-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/ring-list-dependents":{"get":{"summary":"List all distribution list ring list dependents","operationId":"getDistributionListRingListDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_ring-list-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/ring-list-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/ring-list-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/ring-list-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/rss-feed-dependents":{"get":{"summary":"List all distribution list rss feed dependents","operationId":"getDistributionListRssFeedDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_rss-feed-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/rss-feed-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/rss-feed-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/rss-feed-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/scheduled-notification-dependents":{"get":{"summary":"List all distribution list scheduled notification dependents","operationId":"getDistributionListScheduledNotificationDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_scheduled-notification-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scheduled-notification-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scheduled-notification-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scheduled-notification-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/scim-groups":{"get":{"summary":"List All SCIM Groups","operationId":"getDistributionListScimGroups","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeMemberCounts","in":"query","description":"Whether or not to include member counts for the scim groups","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_scim-groups.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all member SCIM Groups of this distribution list.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Distribution List SCIM Groups"]},"post":{"summary":"Update Distribution List SCIM Groups","operationId":"createDistributionListScimGroup","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeMemberCounts","in":"query","description":"Whether or not to include member counts for the scim groups","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/distribution-lists_scim-groups.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/distribution-lists_scim-groups.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field scimGroupId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'scimGroupId': 'dd0a97cd-c8e9-11f1-9434-3b603e2f6c5f'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'scimGroupId': 'dd0a97ce-c8e9-11f1-9434-5becfc1f7784'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"scimGroupId\": \"dd0a97cf-c8e9-11f1-9434-63ff4d0039b1\"}'\n"}],"description":"Create a link between a SCIM Group and a [Distribution List](#tag--Distribution-Lists)\nso that the SCIM User will receive [Notifications](#tag--Notifications) sent to that Distribution List\n(limit: 100,000 per Distribution List).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Distribution List SCIM Groups"]}},"/v1/distribution-lists/{distributionListId}/scim-groups/{scimGroupId}":{"delete":{"summary":"Remove Distribution List SCIM Group","operationId":"deleteDistributionListScimGroup","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"scimGroupId","in":"path","description":"The scim group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups/{scimGroupId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups/{scimGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/scim-groups/{scimGroupId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes the association between a SCIM Group and a [Distribution List](#tag--Distribution-Lists).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Distribution List SCIM Groups"]}},"/v1/distribution-lists/{distributionListId}/site-role-dependents":{"get":{"summary":"List all distribution list site role dependents","operationId":"getDistributionListSiteRoleDependents","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/distribution-lists_site-role-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/site-role-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/site-role-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/site-role-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Distribution Lists"]}},"/v1/distribution-lists/{distributionListId}/user-subscriptions":{"get":{"summary":"List All Subscribers","operationId":"getDistributionListUserSubscriptions","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userIds","in":"query","description":"User ids to filter the returned users.","schema":{"type":"array","items":{"type":"string","format":"uuid"},"uniqueItems":true}}],"responses":{"200":{"$ref":"#/components/responses/_distribution-lists_user-subscriptions.list.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all members of this distribution list. (The [Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access\ntoken, may limit the resources returned. Generally, only administrative users will be able to view the members of\ndistribution lists.)","tags":["Distribution List User Subscriptions"]},"post":{"summary":"Subscribe a User","operationId":"createDistributionListUserSubscription","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/distribution-lists_user-subscriptions.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_distribution-lists_user-subscriptions.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z',\n    'userId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z',\n    'userId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"subscriptionEndDate\": \"2035-05-27T19:20:46.908Z\",\n         \"userId\": \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"}'\n"}],"description":"Create a link between a [User](#tag--Users) and a [Distribution List](#tag--Distribution-Lists) so that\nthe User will receive [Notifications](#tag--Notifications) sent to that Distribution List (limit: 100,000 per Distribution List).","tags":["Distribution List User Subscriptions"]}},"/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}":{"get":{"summary":"Get a Subscriber","operationId":"getDistributionListUserSubscription","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"userSubscriptionId","in":"path","description":"The user subscription id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_distribution-lists_user-subscriptions.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Get a distribution list subscription given the `id`s of the distribution list and subscription.","tags":["Distribution List User Subscriptions"]},"put":{"summary":"Update a Subscriber","operationId":"updateDistributionListUserSubscription","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"userSubscriptionId","in":"path","description":"The user subscription id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/distribution-lists_user-subscriptions.put-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_distribution-lists_user-subscriptions.put.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"subscriptionEndDate\": \"2035-05-27T19:20:46.908Z\"}'\n"}],"description":"Updates an existing distribution list subscription's `subscriptionEndDate`.","tags":["Distribution List User Subscriptions"]},"delete":{"summary":"Remove a Subscriber","operationId":"deleteDistributionListUserSubscription","parameters":[{"name":"distributionListId","in":"path","description":"The distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"userSubscriptionId","in":"path","description":"The user subscription id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/distribution-lists/{distributionListId}/user-subscriptions/{userSubscriptionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes a subscriber, removing that association between a [User](#tag--Users) and a [Distribution List](#tag--Distribution-Lists).","tags":["Distribution List User Subscriptions"]}},"/v1/extensions":{"get":{"summary":"List all extensions","operationId":"getExtensions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/extensions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all Informacast extesnions. (The permissions associated with the request, through the user attached to the access token, may limit the visibility of extensions.)","tags":["Extensions"]}},"/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces":{"get":{"summary":"List Webex Teams Spaces","operationId":"getWebexTeamsIntegration","responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"userLacksSparkSession":{"type":"boolean","description":"When 'true', the current user is not logged into Webex Teams","example":false},"data":{"type":"array","description":"The paginated resources","items":{"type":"object","properties":{"created":{"description":"When the space was created","type":"string","format":"date-time","example":"2022-07-01T21:11:24.901Z"},"isLocked":{"description":"Whether the current space is locked","type":"boolean","example":false},"creatorId":{"description":"The id of the entity that originally created this space","type":"string","example":"Y2lzY29zcGFyazovL3VzL1BFT1BMRS9kNTJmYjk5Zi00OTVmLTRkYWQtYjk3ZS02ZWM5Yzc4YzdjMTE"},"id":{"description":"The `id` of the Webex Teams space","type":"string","example":"Y2lzY29zcGFyazovL3VzL1JPT00vNWQ1YmUxNTAtZjk4Mi0xMWVjLTg4ZTMtM2Y2ODVhNzMzNThj"},"lastActivity":{"description":"When the last message was posted to this space","type":"string","format":"date-time","example":"2023-08-01T21:11:24.901Z"},"botIsMember":{"description":"Whether or not the InformaCast Bot is currently a member of the space","type":"boolean","example":true},"title":{"description":"The title of this space","type":"string","example":"Security Webex Team"},"botWasEvicted":{"description":"Indicates the space is supposed to have the bot in it but no longer does","type":"boolean","example":false},"type":{"description":"The room type, either `direct` or `group`","type":"string","example":"group"},"userCanInvite":{"description":"A flag (a hint to the client) as to whether the currently authenticated user has permissions to invite the InformaCast Bot to this space","type":"boolean","example":true},"isReadOnly":{"description":"When `true`, disallows any new information exchanges in this space while maintaining historical data","type":"boolean","example":false},"isPublic":{"description":"Whether the room is public and therefore discoverable within the org, i.e. anyone can find and join that room.","type":"boolean","example":false},"ownerId":{"description":"The `ID` of the organization which owns this room","type":"string","example":"Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi84NzgxZDQ3YS1iOTk4LTQ2NGUtYjcyNy1kYjNmM2Q1MTU1ZTY"}}}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all Webex Teams spaces available to the current user. (The [User Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned.) \n > ⚠️ There is an additional attribute, `userLacksSparkSession`, in the pagination response wrapper. When this attribute has a `true` value, it means the current user is not logged into Webex Teams, `false` means the current user is logged into Webex Teams. If the user is not logged in you will not be able to add and remove the InformaCast Bot from Webex Teams spaces.","tags":["Webex Teams Integration API"]},"post":{"summary":"Invite the Bot to a Space","operationId":"postWebexTeamsIntegration","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"spaceId":{"description":"The `id` of the Webex Teams space","type":"string","example":"Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy"}}}}}},"responses":{"200":{"description":"A successful post response","content":{"application/json":{"schema":{"type":"object","properties":{"created":{"description":"When the space was created","type":"string","format":"date-time","example":"2022-07-01T21:11:24.901Z"},"isLocked":{"description":"Whether the current space is locked","type":"boolean","example":false},"creatorId":{"description":"The id of the entity that originally created this space","type":"string","example":"Y2lzY29zcGFyazovL3VzL1BFT1BMRS9kNTJmYjk5Zi00OTVmLTRkYWQtYjk3ZS02ZWM5Yzc4YzdjMTE"},"id":{"description":"The `id` of the Webex Teams space","type":"string","example":"Y2lzY29zcGFyazovL3VzL1JPT00vNWQ1YmUxNTAtZjk4Mi0xMWVjLTg4ZTMtM2Y2ODVhNzMzNThj"},"lastActivity":{"description":"When the last message was posted to this space","type":"string","format":"date-time","example":"2023-08-01T21:11:24.901Z"},"botIsMember":{"description":"Whether or not the InformaCast Bot is currently a member of the space","type":"boolean","example":true},"title":{"description":"The title of this space","type":"string","example":"Security Webex Team"},"botWasEvicted":{"description":"Indicates the space is supposed to have the bot in it but no longer does","type":"boolean","example":false},"type":{"description":"The room type, either `direct` or `group`","type":"string","example":"group"},"userCanInvite":{"description":"A flag (a hint to the client) as to whether the currently authenticated user has permissions to invite the InformaCast Bot to this space","type":"boolean","example":true},"isReadOnly":{"description":"When `true`, disallows any new information exchanges in this space while maintaining historical data","type":"boolean","example":false},"isPublic":{"description":"Whether the room is public and therefore discoverable within the org, i.e. anyone can find and join that room.","type":"boolean","example":false},"ownerId":{"description":"The `ID` of the organization which owns this room","type":"string","example":"Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi84NzgxZDQ3YS1iOTk4LTQ2NGUtYjcyNy1kYjNmM2Q1MTU1ZTY"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  \"spaceId\": \"Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy\"\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {'spaceId': 'Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy'}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\"spaceId\":\"Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy\"}'\n"}],"description":"Tells the InformaCast Mobile bot to add itself to the specified Webex Teams space \n > ⚠️ As noted above, if the current user is not logged into Webex Teams, this request will fail, and a validation error will be returned","tags":["Webex Teams Integration API"]}},"/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces/{spaceId}":{"delete":{"summary":"Remove the Bot from a Space","operationId":"deleteWebexTeamsIntegration","parameters":[{"name":"spaceId","in":"path","description":"The `id` of the Webex Teams space","required":true,"example":"Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The deletion message","example":"Successfully removed InformaCast bot"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces/Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces/Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/299036d0-188a-11e7-a184-fd464c9fabab/proxy/api/v1/spaces/Y2lzY29zcGFyazovL3VzL1JPT00vOTM5ODgxMDAtZjk4My0xMWVjLWE5NTEtOGY3YzA3OGFiZTYy\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Tells the InformaCast Mobile bot to remove itself from the specified Webex Teams space. \n > ⚠️ If the current user is not logged into Webex Teams or there are any Collaboration Groups that are configured to send to the specified Webex Teams space, this request will fail, and a validation error will be returned","tags":["Webex Teams Integration API"]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/DialToIntercom/configuration":{"get":{"summary":"Get Dial To Intercom Configuration","description":"Retrieves the Dial To Intercom configuration. Since this is not a list request, there is no pagination wrapper around the result.","operationId":"getDialToIntercom","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"example":"41a7f094-57a7-11e8-b511-1b4b03640c60","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful get response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Database ID (for display only), this field will be ignored if included in the body of the data submitted on a PUT or POST","example":1},"dialingPrefix":{"type":"string","description":"The dialing prefix used to identify the phone call as an intercom call (e.g. *, #, #5, etc.)","example":"#5"},"volume":{"type":"integer","description":"The speaker volume level that will be used on the receiving phone during the intercom session (0=As_Is, 30=Low, 60=Medium, 100=Maximum)","example":0},"maxDuration":{"type":"integer","description":"The max duration (seconds) allowed for an intercom broadcast (0=As_Is, 30=Low, 60=Medium, 100=Maximum)","example":600},"messagePriority":{"type":"integer","description":"The message priority given for an intercom broadcast","example":1},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/DialToIntercom/configuration\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/DialToIntercom/configuration\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/DialToIntercom/configuration\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Dial To Intercom"]},"put":{"operationId":"updateDialToIntercom","responses":{"200":{"description":"A successful get response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Database ID (for display only), this field will be ignored if included in the body of the data submitted on a PUT or POST","example":1},"dialingPrefix":{"type":"string","description":"The dialing prefix used to identify the phone call as an intercom call (e.g. *, #, #5, etc.)","example":"#6"},"volume":{"type":"integer","description":"The speaker volume level that will be used on the receiving phone during the intercom session (0=As_Is, 30=Low, 60=Medium, 100=Maximum)","example":100},"maxDuration":{"type":"integer","description":"The max duration (seconds) allowed for an intercom broadcast (0=As_Is, 30=Low, 60=Medium, 100=Maximum)","example":900},"messagePriority":{"type":"integer","description":"The message priority given for an intercom broadcast","example":1},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Dial To Intercom"],"summary":"Update Dial To Intercom Configuration","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"dialingPrefix":{"type":"string","description":"The dialing prefix used to identify the phone call as an intercom call (e.g. *, #, #5, etc.)","example":"#6"},"volume":{"type":"integer","description":"The speaker volume level that will be used on the receiving phone during the intercom session (0=As_Is, 30=Low, 60=Medium, 100=Maximum)","example":100},"maxDuration":{"type":"integer","description":"The max duration (seconds) allowed for an intercom broadcast (0=As_Is, 30=Low, 60=Medium, 100=Maximum)","example":900},"messagePriority":{"type":"integer","description":"The message priority given for an intercom broadcast","example":1}},"type":"object"}}}},"parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"example":"41a7f094-57a7-11e8-b511-1b4b03640c60","schema":{"type":"string"}}],"description":"Updates the Dial To Intercom configuration","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  'dialingPrefix': '#6'\n  'volume': 100\n  'maxDuration': 900\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/DialToIntercom/configuration\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/DialToIntercom/configuration\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n  'dialingPrefix': '#6'\n  'volume': 100\n  'maxDuration': 900\n}\ntry:\n    response = requests.put (url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Admin/DialToIntercom/configuration\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"dialingPrefix\": \"#6\",\n         \"volume\": 900,\n         \"maxDuration\": 900}'\n"}]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast":{"get":{"summary":"List Multicast Streams","description":"Retrieves the list of all configured Multicast Streams.\n\n> ⚠️ As this is a Fusion-ONLY plugin, the `extensionId` and `endpointIds` must be set correctly. See [here](#overview) for more information.","operationId":"getGenericMulticastStreams","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"q","in":"query","description":"Returns only multicast streams that contain the supplied value within their name, address or port\n","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_generic-multicast-streams-list-response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Multicast Streaming"]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/activeStreams":{"get":{"summary":"List Active Streams","description":"Retrieves the list of all (currently) active streams","operationId":"getActiveStreams","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"object","properties":{"value":{"type":"string","description":"The name of the Active Stream","example":"Polycom Devices"}}},"address":{"type":"object","properties":{"value":{"type":"string","description":"Multicast address over which to send audio","example":"224.0.1.116"}}},"port":{"type":"object","properties":{"value":{"type":"integer","description":"Multicast port over which to send audio","example":5000}}},"conflicts":{"description":"Any conflicts that exist for the multicast address assigned to this stream","example":[],"items":{"type":"string"},"type":"array"},"broadcasts":{"type":"array","description":"Whether the response contains the remainder of the resources","items":{"$ref":"#/components/schemas/_generic-multicast-streams.broadcast"}}}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/activeStreams\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/activeStreams\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/activeStreams\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Multicast Streaming"]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic":{"post":{"operationId":"createGenericMulticastStream","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_generic-multicast-streams-post-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Multicast Streaming"],"summary":"Create a Generic Multicast Stream","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_generic-multicast-streams-post-request"}}}},"parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}}],"description":"Create a new Generic Multicast Stream","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Yealink, Algo, Cisco MPP devices\",\n         \"address\": \"224.0.1.117\",\n         \"port\": 5002}'\n"}]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic/{id}":{"put":{"operationId":"updateGenericMulticastStream","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_generic-multicast-streams-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Multicast Streaming"],"summary":"Update a Generic Multicast Stream","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_generic-multicast-streams-put-request"}}}},"parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The `id` of the Generic Multicast Stream to update","required":true,"schema":{"type":"string"}}],"description":"Update a Generic Multicast Stream","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic/{id}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic/{id}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n}\ntry:\n    response = requests.put (url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/generic/{id}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Yealink, Algo, Cisco MPP devices\",\n         \"address\": \"224.0.1.117\",\n         \"port\": 5002}'\n"}]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom":{"post":{"operationId":"createPolycomMulticastStream","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_polycom-multicast-streams-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Multicast Streaming"],"summary":"Create a Polycom Multicast Stream","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_polycom-multicast-streams-post-request"}}}},"parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}}],"description":"Create a new Polycom Multicast Stream","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n  'channel': 1\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n  'channel': 1\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Yealink, Algo, Cisco MPP devices\",\n         \"address\": \"224.0.1.117\",\n         \"port\": 5002,\n         \"channel\": 1}'\n"}]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom/{id}":{"put":{"operationId":"updatePolycomMulticastStream","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_polycom-multicast-streams-put-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Multicast Streaming"],"summary":"Update a Polycom Multicast Stream","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_polycom-multicast-streams-put-request"}}}},"parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The `id` of the Polycom Multicast Stream to update","required":true,"schema":{"type":"string"}}],"description":"Update a Polycom Multicast Stream","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n  'channel': 1\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom/{id}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom/{id}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n  'name': 'Yealink, Algo, Cisco MPP devices'\n  'address': '224.0.1.117'\n  'port': 5002\n  'channel': 1\n}\ntry:\n    response = requests.put (url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/polycom/{id}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Yealink, Algo, Cisco MPP devices\",\n         \"address\": \"224.0.1.117\",\n         \"port\": 5002,\n         \"channel\": 1}'\n"}]}},"/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/{id}":{"get":{"summary":"Get a Multicast Stream","description":"Retrieves a single Multicast Stream by `id` (either `generic` or `polycom` types). Since this is not a list request, there is no pagination wrapper around the result.\n\n","operationId":"getGenericMulticastStream","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The id of the Multicast Stream to retrieve","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_generic-multicast-streams-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/{id}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/{id}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/{id}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Multicast Streaming"]},"delete":{"summary":"Remove a Multicast Stream","operationId":"deleteMulticastStream","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The `id` of the Multicast Stream to delete","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"The Multicast Stream was deleted; no response body is returned"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/{id}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/{id}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/{endpointId}/proxy/proxy/V1/Plugins/GenericMulticast/{id}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Multicast Streaming"]}},"/v1/extensions/e1b2db4b-626a-11e7-a3f9-0de43455e890/proxy/cap/event":{"post":{"operationId":"publishCapEvent","responses":{"201":{"description":"HTTP status 201 will be generated if the CAP message was processed successfully and lead to notifications being sent out. The 201 response can have several instances of `<ruleset>` if the CAP alert matches the expression in more than one ruleset. Each `<ruleset>` can have more than one `<alert>` tag if the source CAP message actually contained several blocks with different tags. If the request has the header `Accept: application/json` in it, the response payload will be in JSON format.","content":{"application/xml":{"example":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<notificationEvents>\n    <ruleset rulesetId=\"6f4e3e85-fd49-11ea-9a37-3f53b6365c06\" expression=\"categoryIsSafety()\">\n        <alerts>\n            <alert>\n                <identifier>Example-001</identifier>\n            </alert>\n        </alerts>\n    </ruleset>\n</notificationEvents>","schema":{"type":"object","properties":{"notificationEvents":{"type":"object","properties":{"ruleset":{"type":"object","properties":{"alerts":{"type":"object","properties":{"alert":{"type":"object","properties":{"identifier":{"type":"string"}}}}}}}}}}}}}},"204":{"description":"HTTP status 204 will be generated if the CAP message has a tag which references a date in the past or it didn’t create any notifications. This would happen if there were no ruleset matches or the alert has already been processed."},"400":{"description":"HTTP status 400 indicates there was some sort of validation error.\n"}},"tags":["Inbound CAP"],"summary":"Publish a CAP Event","requestBody":{"content":{"application/xml":{"example":"<alert xmlns=\"urn:oasis:names:tc:emergency:cap:1.2\">\n    <identifier>Example-001</identifier>\n    <sender>singlewiredoc</sender>\n    <sent>2020-10-02T15:02:00-04:00</sent>\n    <status>Actual</status>\n    <msgType>Alert</msgType>\n    <scope>Public</scope>\n    <info>\n        <language>en-US</language>\n        <category>Safety</category>\n        <event>Civil Danger Warning</event>\n        <urgency>Expected</urgency>\n        <severity>Severe</severity>\n        <certainty>Likely</certainty>\n        <eventCode>\n            <valueName>SAME</valueName>\n            <value>CDW</value>\n        </eventCode>\n        <expires>2060-10-12T23:15:00-04:00</expires>\n        <senderName>Mr. CAP</senderName>\n        <headline>This is a sample headline</headline>\n        <description>This is a sample description</description>\n        <instruction>This is a sample instruction</instruction>\n        <area>\n            <areaDesc>Dane County</areaDesc>\n            <geocode>\n                <valueName>SAME</valueName>\n                <value>055025</value>\n            </geocode>\n        </area>\n    </info>\n</alert>\n","schema":{"type":"object","properties":{"alert":{"type":"object","properties":{"identifier":{"type":"string"},"sender":{"type":"string"},"sent":{"type":"string"},"status":{"type":"string"},"msgType":{"type":"string"},"scope":{"type":"string"},"info":{"type":"object","properties":{"area":{"type":"object","properties":{"areaDesc":{"type":"string"},"geocode":{"type":"object","properties":{"valueName":{"type":"string"},"value":{"type":"string"}}}}},"event":{"type":"string"},"urgency":{"type":"string"},"senderName":{"type":"string"},"expires":{"type":"string"},"instructions":{"type":"string"},"certainty":{"type":"string"},"category":{"type":"string"},"eventCode":{"type":"object","properties":{"valueName":{"type":"string"},"value":{"type":"string"}}},"language":{"type":"string"},"severity":{"type":"string"},"description":{"type":"string"},"headline":{"type":"string"}}}}}}}}}},"parameters":[],"description":"This endpoint allows you to send a CAP XML payload to InformaCast Mobile so it can process the inbound CAP\nrules against that payload.\n\nThe following restrictions exist:\n\n1. The payload must be valid XML format and valid CAP payload.\n1. The `<identifier>` tag is required and must be globally unique. If you submit two CAP messages, for the same provider, with the same value for `<identifier>` the second one will not be processed.\n1. The `<info>` `<headline>` and `<area>` tags are required.\n1. One or more of the following tags must be included: `<geocode>` `<polygon>` `<circle>`.\n1. The `<expires>` tag, if included, must reference a time in the future.\n1. The API access token provided must be associated with an application user with permissions to send notifications and Inbound CAP Create Event.","x-codeSamples":[{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/e1b2db4b-626a-11e7-a3f9-0de43455e890/proxy/cap/event\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/xml'\n}\nxml_string = \"\"\"<alert xmlns=\"urn:oasis:names:tc:emergency:cap:1.2\">\n                    <identifier>Example-001</identifier>\n                    <sender>singlewiredoc</sender>\n                    <sent>2020-10-02T15:02:00-04:00</sent>\n                    <status>Actual</status>\n                    <msgType>Alert</msgType>\n                    <scope>Public</scope>\n                    <info>\n                        <language>en-US</language>\n                        <category>Safety</category>\n                        <event>Civil Danger Warning</event>\n                        <urgency>Expected</urgency>\n                        <severity>Severe</severity>\n                        <certainty>Likely</certainty>\n                        <eventCode>\n                            <valueName>SAME</valueName>\n                            <value>CDW</value>\n                        </eventCode>\n                        <expires>2060-10-12T23:15:00-04:00</expires>\n                        <senderName>Mr. CAP</senderName>\n                        <headline>This is a sample headline</headline>\n                        <description>This is a sample description</description>\n                        <instruction>This is a sample instruction</instruction>\n                        <area>\n                            <areaDesc>Dane County</areaDesc>\n                            <geocode>\n                                <valueName>SAME</valueName>\n                                <value>055025</value>\n                            </geocode>\n                        </area>\n                    </info>\n                </alert>\"\"\"\n\n\ntry:\n    response = requests.post(url, headers=headers, data=xml_string)\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/e1b2db4b-626a-11e7-a3f9-0de43455e890/proxy/cap/event\" \\\n     -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n     -H \"Content-Type: application/xml\" \\\n     -i \\\n     -X POST \\\n     -d '<alert xmlns=\"urn:oasis:names:tc:emergency:cap:1.2\">\n                    <identifier>Example-001</identifier>\n                    <sender>singlewiredoc</sender>\n                    <sent>2020-10-02T15:02:00-04:00</sent>\n                    <status>Actual</status>\n                    <msgType>Alert</msgType>\n                    <scope>Public</scope>\n                    <info>\n                        <language>en-US</language>\n                        <category>Safety</category>\n                        <event>Civil Danger Warning</event>\n                        <urgency>Expected</urgency>\n                        <severity>Severe</severity>\n                        <certainty>Likely</certainty>\n                        <eventCode>\n                            <valueName>SAME</valueName>\n                            <value>CDW</value>\n                        </eventCode>\n                        <expires>2060-10-12T23:15:00-04:00</expires>\n                        <senderName>Mr. CAP</senderName>\n                        <headline>This is a sample headline</headline>\n                        <description>This is a sample description</description>\n                        <instruction>This is a sample instruction</instruction>\n                        <area>\n                            <areaDesc>Dane County</areaDesc>\n                            <geocode>\n                                <valueName>SAME</valueName>\n                                <value>055025</value>\n                            </geocode>\n                        </area>\n                    </info>\n                </alert>'"}]}},"/v1/extensions/{extensionId}":{"get":{"summary":"Get an extension","operationId":"getExtension","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Informacast extension by `id`.\nSince this is not a list request, there is no pagination wrapper around the result.","tags":["Extensions"]},"put":{"summary":"Update an extension","operationId":"updateExtension","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'config': '{\"secondaryTextColor\":null,\n \"introText\":\"Some test intro text\",\n \"subheadingText\":\"InformaCast Mobile Alert System\",\n \"replyToAddress\":null,\n \"replyToName\":null,\n \"primaryTextColor\":null,\n \"fromAddress\":null,\n \"fromName\":null,\n \"primaryColor\":null,\n \"headingText\":\"Important Alert From\"}',\n    'disabled': false\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'config': '{\"secondaryTextColor\":null,\n \"introText\":\"Some test intro text\",\n \"subheadingText\":\"InformaCast Mobile Alert System\",\n \"replyToAddress\":null,\n \"replyToName\":null,\n \"primaryTextColor\":null,\n \"fromAddress\":null,\n \"fromName\":null,\n \"primaryColor\":null,\n \"headingText\":\"Important Alert From\"}',\n    'disabled': False\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"config\": \"{\\\"secondaryTextColor\\\":null,\n \\\"introText\\\":\\\"Some test intro text\\\",\n \\\"subheadingText\\\":\\\"InformaCast Mobile Alert System\\\",\n \\\"replyToAddress\\\":null,\n \\\"replyToName\\\":null,\n \\\"primaryTextColor\\\":null,\n \\\"fromAddress\\\":null,\n \\\"fromName\\\":null,\n \\\"primaryColor\\\":null,\n \\\"headingText\\\":\\\"Important Alert From\\\"}\",\n         \"disabled\": false}'\n"}],"description":"Updates an existing Informacast extension, changing its configuration, enabling, or disabling it.\n\n## Tied Extensions\n\nThere are two pairs of extensions which are now treated by the user\ninterface as a single concept: the iOS and Android push extensions are\njointly managed as InformaCast for iOS/Android, and the macOS and\nWindows push extensions are jointly managed as InformaCast for\nMac/Windows. Because of this, enabling or disabling one of either pair\nwill automatically enable or disable the other.\n\n> ℹ️ It is not currently possible to create or delete an extension; the\n> available extensions within your environment will have already been\n> created by Singlewire.","tags":["Extensions"]}},"/v1/extensions/{extensionId}/attachments":{"get":{"summary":"List all extension attachments","operationId":"getExtensionAttachments","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/extensions_attachments.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Attachments"]},"post":{"summary":"Create an extension attachment","operationId":"createExtensionAttachment","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions_attachments.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_attachments.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field file is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'file': 'string'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'file': 'string'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"file\": \"string\"}'\n"}],"tags":["Extension Attachments"]}},"/v1/extensions/{extensionId}/attachments/{attachmentId}":{"get":{"summary":"Get an extension attachment","operationId":"getExtensionAttachment","parameters":[{"name":"attachmentId","in":"path","description":"The attachment id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_attachments.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments/{attachmentId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments/{attachmentId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments/{attachmentId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Attachments"]},"delete":{"summary":"Delete an extension attachment","operationId":"deleteExtensionAttachment","parameters":[{"name":"attachmentId","in":"path","description":"The attachment id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments/{attachmentId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments/{attachmentId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/attachments/{attachmentId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Attachments"]}},"/v1/extensions/{extensionId}/devices":{"get":{"summary":"List all extension devices","operationId":"getExtensionDevices","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/extensions_devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Devices"]}},"/v1/extensions/{extensionId}/devices/{deviceId}":{"get":{"summary":"Get an extension device","operationId":"getExtensionDevice","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/devices/{deviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/devices/{deviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/devices/{deviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Devices"]}},"/v1/extensions/{extensionId}/endpoints":{"get":{"summary":"List all extension endpoints","operationId":"getExtensionEndpoints","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBuildInfo","in":"query","description":"If false, will omit the build info field.","schema":{"type":"boolean"}},{"name":"includedStatuses","in":"query","description":"When supplied, A comma-delimited list that specifies the statuses to be included in the results. Valid values are GREEN, YELLOW, or RED.","schema":{"type":"string"}},{"name":"includeFailoverDetails","in":"query","description":"If false, will omit the failover type, failover backup, and failover primary fields.","schema":{"type":"boolean"}},{"name":"includeStatus","in":"query","description":"If false, will omit status, red reasons, yellow reasons, and status last updated fields.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of endpoint","schema":{"type":"string","maximum":10000}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"status","in":"query","description":"Current system health status of the endpoint","schema":{"type":"string","enum":["GREEN","YELLOW","RED"]}},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_extension-endpoints.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all extension endpoints. (The\n[permissions](#tag--User-Permissions) and\n[security groups](#tag--Security-Groups) associated with the request,\nthrough the user attached to the access token, may limit the resources\nreturned.)","tags":["Extension Endpoints"]},"post":{"summary":"Create an extension endpoint","operationId":"createExtensionEndpoint","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions_endpoints.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_extension-endpoints.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'devices': '[{:deviceName \"myDevice\"}]'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'devices': '[{:deviceName \"myDevice\"}]'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"devices\": \"[{:deviceName \\\"myDevice\\\"}]\"}'\n"}],"tags":["Extension Endpoints"]}},"/v1/extensions/{extensionId}/endpoints/{endpointId}":{"get":{"summary":"Get an extension endpoint","operationId":"getExtensionEndpoint","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"includedStatuses","in":"query","description":"When supplied, A comma-delimited list that specifies the statuses to be included in the results. Valid values are GREEN, YELLOW, or RED.","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_extension-endpoints.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single extension endpoint by `id`. Since this is not a list\nrequest, there is no pagination wrapper around the result.","tags":["Extension Endpoints"]},"put":{"summary":"Update an extension endpoint","operationId":"updateExtensionEndpoint","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions_endpoints.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_extension-endpoints.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'devices': '[{:deviceName \"myDevice\"}]'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'devices': '[{:deviceName \"myDevice\"}]'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"devices\": \"[{:deviceName \\\"myDevice\\\"}]\"}'\n"}],"description":"Update the extension's `config`, `name`, or `devices`.","tags":["Extension Endpoints"]},"delete":{"summary":"Delete an extension endpoint","operationId":"deleteExtensionEndpoint","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Endpoints"]}},"/v1/extensions/{extensionId}/endpoints/{endpointId}/activities":{"get":{"summary":"List all extension endpoint activities","operationId":"getExtensionEndpointActivities","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"endpointId","in":"query","description":"The ID of the endpoint","schema":{"type":"string","format":"uuid"},"example":"28a92caf-3d37-11e6-834a-431f5104df9d"},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"query","description":"The ID of the extension","schema":{"type":"string","format":"uuid"},"example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on an extension endpoint activity's `state`, `severity`, `type`, or `referenceId`","schema":{"type":"string"},"example":"admin"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"state","in":"query","description":"State of replication operation of this activity, primarily of interest in determining whether the activity is still in progress or has completed","schema":{"type":"string","enum":["pending","fail","success"],"example":"pending"},"example":"pending"},{"name":"type","in":"query","description":"Type of activity, if you want to back up or restart a Fusion server, use `backup` or `restart`","schema":{"type":"string","enum":["recipient-group-delete","recipient-group-create","recipient-group-update","recipient-group-sync","recipient-group-dependency-sync","message-delete","message-skipped","message-create","message-update","message-sync","message-dependency-sync","scheduled-broadcast-create","scheduled-broadcast-update","scheduled-broadcast-delete","scheduled-broadcast-sync","scheduled-broadcast-skipped","broadcast-pending","broadcast-complete","broadcast-failed","activation-group-sync","phone-cache-distribute","phone-cache-rebuild","phone-reset-pending","fusion-server-broadcast-config-change","full-resync","upgrade","upgrade-all","replication-queue-reset","collect-logs","capture-packets","syncer-startup","log-message","phone-cache-update","phone-cache-full-delta-update","phone-cache-partial-update","axl-result","device-sync","replication-clean-up","full-resync-complete","capture-packets-complete","restart","backup","callaware-recording"],"example":"backup"},"example":"backup"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/extensions_endpoints_activities.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all endpoint activities. (The Permissions and Security Groups associated with the request, through\nthe user attached to the access token, may limit the resources returned.)","tags":["Extension Endpoint Activities"]},"post":{"summary":"Create an extension endpoint activity","operationId":"createExtensionEndpointActivity","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions_endpoints_activities.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_endpoints_activities.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'severity': 'info',\n    'state': 'pending',\n    'type': 'backup'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'severity': 'info',\n    'state': 'pending',\n    'type': 'backup'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"severity\": \"info\",\n         \"state\": \"pending\",\n         \"type\": \"backup\"}'\n"}],"description":"Add a new endpoint activity. Only certain types (backup and reboot requests) may be created. The `severity` must always\nbe set to `info`, and the `state` must always be set to `pending`. The type can either be `restart` or `backup`,\nwhich request that the specified Fusion server restart itself or perform a backup, respectively.","tags":["Extension Endpoint Activities"]}},"/v1/extensions/{extensionId}/endpoints/{endpointId}/activities/{activityId}":{"get":{"summary":"Get an extension endpoint activity","operationId":"getExtensionEndpointActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_endpoints_activities.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities/{activityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/activities/{activityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single endpoint activity by `id`. Since this is not a list request, there is no pagination wrapper around\nthe result.","tags":["Extension Endpoint Activities"]}},"/v1/extensions/{extensionId}/endpoints/{endpointId}/provider-public-key":{"put":{"summary":"Update an extension endpoint provider public key","operationId":"updateExtensionEndpointProviderPublicKey","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions_endpoints_provider-public-key.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_endpoints_provider-public-key.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field publicKey is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/provider-public-key\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/provider-public-key\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/endpoints/{endpointId}/provider-public-key\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Extension Endpoint Provider Public Key"]}},"/v1/extensions/{extensionId}/endpoints/{endpointId}/proxy/proxy":{"get":{"summary":"Make a GET request to an endpoint","operationId":"getExtensionEndpointProxy","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"example":"4064d181-b64d-11ee-8cca-e5dd3aa3ce18","schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","schema":{"type":"string"}},{"name":"path","in":"query","allowReserved":true,"required":true,"description":"The API path of the resource you wish to request","example":"Fusion/V1/Plugins/CallAware/routingRequests","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on notification activity type, read_status, confirmation_option, or endpoint name if `:include-endpoint-name` is `true`","schema":{"type":"string"},"example":"expire"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"type":"any","description":"The responses vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/)","example":{"next":null,"previous":null,"total":2,"data":[{"id":2147483752,"name":"Routing request 1","calledDN":"105072","callMonitored":false,"index":0,"permissions":["get","delete","put"]},{"id":2147483753,"name":"Routing request 2","calledDN":"105073","callMonitored":false,"index":1,"permissions":["get","delete","put"]}],"partial":false}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/3b6903dc-fb44-11ee-8ede-0242ac320503/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests?limit=10\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/3b6903dc-fb44-11ee-8ede-0242ac320503/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests?limit=10\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/3b6903dc-fb44-11ee-8ede-0242ac320503/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests?limit=10\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"The request parameters and responses vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/).","tags":["Extension Endpoint Proxy"]},"post":{"operationId":"createExtensionEndpointProxy","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"type":"any","description":"The responses vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/)","example":{"messageID":"fffbedaf-53cf-11ee-bc69-6b532a02fef4","recipientIDs":["feea0871-53cf-11ee-bc69-25cbd32fd57e","69616bb9-5726-11ee-8fa6-7187a0c7996f"],"id":2147483776,"monitorToneType":1,"calledDN":"105084","longText":"Message body","name":"routing request 3","recipientGroupsJson":[{"name":"Administrator Alerts","tags":"fusion-id:feea0871-53cf-11ee-bc69-25cbd32fd57e, type:distribution-list","id":"feea0871-53cf-11ee-bc69-25cbd32fd57e"},{"name":"a device group","tags":"fusion-id:69616bb9-5726-11ee-8fa6-7187a0c7996f, type:device-group","id":"69616bb9-5726-11ee-8fa6-7187a0c7996f"}],"messageJson":{"description":"IT Systems Down","customizable":true,"type":"both","id":"fffbedaf-53cf-11ee-bc69-6b532a02fef4"},"link":"http://api.icmobile.singlewire.com/InformaCast/RESTServices/Fusion/V1/Plugins/CallAware/routingRequests/2147483776","shortText":"Message subject","callMonitored":false}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Extension Endpoint Proxy"],"summary":"Make a POST request to an endpoint","requestBody":{"content":{"application/json":{"schema":{"type":"any","description":"The request parameters vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/)","example":{"messageID":"fffbedaf-53cf-11ee-bc69-6b532a02fef4","monitorToneType":1,"name":"routing request 3","calledDN":"105084","shortText":"Message subject","longText":"Message body","recipientIDs":["feea0871-53cf-11ee-bc69-25cbd32fd57e","69616bb9-5726-11ee-8fa6-7187a0c7996f"]}}}}},"parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"example":"4064d181-b64d-11ee-8cca-e5dd3aa3ce18","schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","schema":{"type":"string"}},{"name":"path","in":"query","allowReserved":true,"required":true,"description":"The API path of the resource you wish to request","example":"Fusion/V1/Plugins/CallAware/routingRequests","schema":{"type":"string"}}],"description":"The request parameters and responses vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/).","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  \"messageID\": \"fffbedaf-53cf-11ee-bc69-6b532a02fef4\",\n  \"monitorToneType\": 1,\n  \"name\": \"routing request 3\",\n  \"calledDN\": \"105084\",\n  \"shortText\": \"Message subject\",\n  \"longText\": \"Message body\",\n  \"recipientIDs\": [\n    \"feea0871-53cf-11ee-bc69-25cbd32fd57e\",\n    \"69616bb9-5726-11ee-8fa6-7187a0c7996f\"\n  ]\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/4064d181-b64d-11ee-8cca-e5dd3aa3ce18/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/4064d181-b64d-11ee-8cca-e5dd3aa3ce18/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {'messageID': 'fffbedaf-53cf-11ee-bc69-6b532a02fef4',\n        'monitorToneType': 1,\n        'name': 'routing request 3',\n        'calledDN': '105084',\n        'shortText': 'Message subject',\n        'longText': 'Message body',\n        'recipientIDs': ['feea0871-53cf-11ee-bc69-25cbd32fd57e', '69616bb9-5726-11ee-8fa6-7187a0c7996f']}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/4064d181-b64d-11ee-8cca-e5dd3aa3ce18/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\"messageID\":\"fffbedaf-53cf-11ee-bc69-6b532a02fef4\",\n         \"monitorToneType\":1,\n         \"name\":\"routing request 3\",\n         \"calledDN\":\"105084\",\n         \"shortText\":\"Message subject\",\n         \"longText\":\"Message body\",\n         \"recipientIDs\":[\"feea0871-53cf-11ee-bc69-25cbd32fd57e\",\"69616bb9-5726-11ee-8fa6-7187a0c7996f\"]}'\n"}]},"put":{"operationId":"updateExtensionEndpointProxy","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"type":"any","description":"The responses vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/)","example":{"permissions":["get","delete","put"],"messageID":"fffbedaf-53cf-11ee-bc69-6b532a02fef4","recipientIDs":["feea0871-53cf-11ee-bc69-25cbd32fd57e","69616bb9-5726-11ee-8fa6-7187a0c7996f"],"id":2147483752,"monitorToneType":1,"calledDN":"105072","longText":"Test body","name":"Routing request 1 updated","shortText":"Test subject","callMonitored":false}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Extension Endpoint Proxy"],"summary":"Make a PUT request to an endpoint","requestBody":{"content":{"application/json":{"schema":{"type":"any","description":"The request parameters vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/)","example":{"messageID":"fffbedaf-53cf-11ee-bc69-6b532a02fef4","recipientIDs":["feea0871-53cf-11ee-bc69-25cbd32fd57e","69616bb9-5726-11ee-8fa6-7187a0c7996f"],"id":2147483752,"monitorToneType":1,"calledDN":"105072","longText":"Test body","name":"Routing request 1 updated","recipientGroupsJson":[{"name":"Administrator Alerts","tags":"fusion-id:feea0871-53cf-11ee-bc69-25cbd32fd57e, type:distribution-list","id":"feea0871-53cf-11ee-bc69-25cbd32fd57e"},{"name":"a device group","tags":"fusion-id:69616bb9-5726-11ee-8fa6-7187a0c7996f, type:device-group","id":"69616bb9-5726-11ee-8fa6-7187a0c7996f"}],"messageJson":{"description":"IT Systems Down","customizable":true,"type":"both","id":"fffbedaf-53cf-11ee-bc69-6b532a02fef4"},"shortText":"Test subject","callMonitored":false}}}}},"parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"example":"4064d181-b64d-11ee-8cca-e5dd3aa3ce18","schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","schema":{"type":"string"}},{"name":"path","in":"query","allowReserved":true,"required":true,"description":"The API path of the resource you wish to request","example":"Fusion/V1/Plugins/CallAware/routingRequests/2147483752","schema":{"type":"string"}}],"description":"The request parameters and responses vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/).","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n  \"messageID\": \"fffbedaf-53cf-11ee-bc69-6b532a02fef4\",\n  \"recipientIDs\": [\n    \"feea0871-53cf-11ee-bc69-25cbd32fd57e\",\n    \"69616bb9-5726-11ee-8fa6-7187a0c7996f\"\n  ],\n  \"id\": 2147483752,\n  \"monitorToneType\": 1,\n  \"calledDN\": \"105072\",\n  \"longText\": \"Test body\",\n  \"name\": \"Routing request 1 updated\",\n  \"recipientGroupsJson\": [\n    {\n      \"name\": \"Administrator Alerts\",\n      \"tags\": \"fusion-id:feea0871-53cf-11ee-bc69-25cbd32fd57e, type:distribution-list\",\n      \"id\": \"feea0871-53cf-11ee-bc69-25cbd32fd57e\"\n    },\n    {\n      \"name\": \"a device group\",\n      \"tags\": \"fusion-id:69616bb9-5726-11ee-8fa6-7187a0c7996f, type:device-group\",\n      \"id\": \"69616bb9-5726-11ee-8fa6-7187a0c7996f\"\n    }\n  ],\n  \"messageJson\": {\n    \"description\": \"IT Systems Down\",\n    \"customizable\": true,\n    \"type\": \"both\",\n    \"id\": \"fffbedaf-53cf-11ee-bc69-6b532a02fef4\"\n  },\n  \"shortText\": \"Test subject\",\n  \"callMonitored\": false\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/3b6903dc-fb44-11ee-8ede-0242ac320503/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests/2147483752\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extension/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/3b6903dc-fb44-11ee-8ede-0242ac320503/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests/2147483752\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {'messageID': 'fffbedaf-53cf-11ee-bc69-6b532a02fef4',\n        'recipientIDs': ['feea0871-53cf-11ee-bc69-25cbd32fd57e', '69616bb9-5726-11ee-8fa6-7187a0c7996f'],\n        'id': 2147483752,\n        'monitorToneType': 1,\n        'calledDN': '105072',\n        'longText': 'Test body',\n        'name': 'Routing request 1 updated',\n        'recipientGroupsJson': [{'name': 'Administrator Alerts',\n                                 'tags': 'fusion-id:feea0871-53cf-11ee-bc69-25cbd32fd57e, type:distribution-list', 'id': 'feea0871-53cf-11ee-bc69-25cbd32fd57e'},\n                                {'name': 'a device group',\n                                'tags': 'fusion-id:69616bb9-5726-11ee-8fa6-7187a0c7996f, type:device-group',\n                                'id': '69616bb9-5726-11ee-8fa6-7187a0c7996f'}],\n        'messageJson': {'description': 'IT Systems Down', 'customizable': True, 'type': 'both', 'id': 'fffbedaf-53cf-11ee-bc69-6b532a02fef4'},\n        'shortText': 'Test subject',\n        'callMonitored': False}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extension/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/3b6903dc-fb44-11ee-8ede-0242ac320503/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests/2147483752\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\"messageID\":\"fffbedaf-53cf-11ee-bc69-6b532a02fef4\",\n         \"recipientIDs\":[\"feea0871-53cf-11ee-bc69-25cbd32fd57e\",\"69616bb9-5726-11ee-8fa6-7187a0c7996f\"],\n         \"id\":2147483752,\n         \"monitorToneType\":1,\n         \"calledDN\":\"105072\",\n         \"longText\":\"Test body\",\n         \"name\":\"Routing request 1 updated\",\n         \"recipientGroupsJson\":\n            [{\"name\":\"Administrator Alerts\",\n              \"tags\":\"fusion-id:feea0871-53cf-11ee-bc69-25cbd32fd57e, type:distribution-list\",\n              \"id\":\"feea0871-53cf-11ee-bc69-25cbd32fd57e\"},\n             {\"name\":\"a device group\",\n              \"tags\":\"fusion-id:69616bb9-5726-11ee-8fa6-7187a0c7996f, type:device-group\",\n              \"id\":\"69616bb9-5726-11ee-8fa6-7187a0c7996f\"}],\n         \"messageJson\":\n            {\"description\":\"IT Systems Down\",\n             \"customizable\":true,\n             \"type\":\"both\",\n             \"id\":\"fffbedaf-53cf-11ee-bc69-6b532a02fef4\"},\n         \"shortText\":\"Test subject\",\n         \"callMonitored\":false}'\n"}]},"delete":{"summary":"Make a DELETE request to an endpoint","operationId":"deleteExtensionEndpointProxy","parameters":[{"name":"endpointId","in":"path","description":"The endpoint id path parameter","required":true,"example":"4064d181-b64d-11ee-8cca-e5dd3aa3ce18","schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","schema":{"type":"string"}},{"name":"path","in":"query","allowReserved":true,"required":true,"description":"The API path of the resource you wish to request","example":"Fusion/V1/Plugins/CallAware/routingRequests/2147483777","schema":{"type":"string"}}],"responses":{"204":{"description":"A successful response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/4064d181-b64d-11ee-8cca-e5dd3aa3ce18/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests/2147483777\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/4064d181-b64d-11ee-8cca-e5dd3aa3ce18/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests/2147483777\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/extensions/551de6ae-3d36-11e6-834a-3d1fcb19aadd/endpoints/4064d181-b64d-11ee-8cca-e5dd3aa3ce18/proxy/proxy/Fusion/V1/Plugins/CallAware/routingRequests/2147483777\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"The request parameters and responses vary based on the URL you requested. For a list of (most) fusion extension endpoint APIs, please see [here](https://www.singlewire.com/help/InformaCastAPI/).","tags":["Extension Endpoint Proxy"]}},"/v1/extensions/{extensionId}/provider-public-key":{"delete":{"summary":"Delete an extension provider public key","operationId":"deleteExtensionProviderPublicKey","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/provider-public-key\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/provider-public-key\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/provider-public-key\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Provider Public Key"]}},"/v1/extensions/{extensionId}/proxy":{"get":{"summary":"List all extension proxy","operationId":"getExtensionProxies","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_proxy.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Proxies"]},"post":{"summary":"Create an extension proxy","operationId":"createExtensionProxy","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions_proxy.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_proxy.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Extension Proxies"]},"put":{"summary":"Update an extension proxy","operationId":"updateExtensionProxy","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/extensions_proxy.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/extensions_proxy.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Extension Proxies"]},"delete":{"summary":"Delete an extension proxy","operationId":"deleteExtensionProxy","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/extensions/{extensionId}/proxy\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Extension Proxies"]}},"/v1/facilities":{"get":{"summary":"List all facilities","operationId":"getFacilities","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/facilities.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all facilities. (The permissions associated with the request, through the user attached to the access token, may limit the visibility of facilities.)","tags":["Facilities"]},"post":{"summary":"Create a facility","operationId":"createFacility","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/facilities.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/facilities.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'siteId': 'dd0a97d0-c8e9-11f1-9434-19724f4a5b71'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'siteId': 'dd0a97d1-c8e9-11f1-9434-eb9f1c59d944'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"siteId\": \"dd0a97d2-c8e9-11f1-9434-1dc151a75e8d\"}'\n"}],"description":"Creates a new Facility linked to an existing [Site](#tag--Sites).\nThis allows supported resources and users to be assigned to the site.\nThis operation cannot be reversed.","tags":["Facilities"]}},"/v1/facilities/{facilityId}":{"get":{"summary":"Get a facility","operationId":"getFacility","parameters":[{"name":"facilityId","in":"path","description":"The facility id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/facilities.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single facility by id. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Facilities"]}},"/v1/facilities/{facilityId}/users":{"get":{"summary":"Get All Users in a Facility","operationId":"getFacilityUsers","parameters":[{"name":"facilityId","in":"path","description":"The facility id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeTypes","in":"query","description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true,"maximum":1024},"example":["regular"]},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on user names and emails","schema":{"type":"string"},"example":"Ben"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/facilities_users.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all [Users](#tag--Users) that belong to the [Facility](#tag--Facilities). (The permissions associated with the request, through the user attached to the access token, may limit the visibility of results.)","tags":["Facility Users"]},"post":{"summary":"Add a User to a Facility","operationId":"createFacilityUser","parameters":[{"name":"facilityId","in":"path","description":"The facility id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/facilities_users.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/facilities_users.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'includeTypes': [\n        'regular'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'includeTypes': [\n        'regular'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"includeTypes\": [\n             \"regular\"\n         ]}'\n"}],"description":"Adds a [User](#tag--Users) to a [Facility](#tag--Facilities).","tags":["Facility Users"]}},"/v1/facilities/{facilityId}/users/{userId}":{"get":{"summary":"Check if a Facility Contains a User","operationId":"getFacilityUser","parameters":[{"name":"facilityId","in":"path","description":"The facility id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/facilities_users.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users/{userId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users/{userId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users/{userId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single [User](#tag--Users) [Facility](#tag--Facilities) by id. Since this is not a list request, there is no pagination wrapper around the result.\n\nIf the User is part of the Facility, a response will be returned. If the User is not in the Facility, the response status will indicate that the requested resource cannot be found.","tags":["Facility Users"]},"delete":{"summary":"Remove a User from a Facility","operationId":"deleteFacilityUser","parameters":[{"name":"facilityId","in":"path","description":"The facility id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users/{userId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users/{userId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/facilities/{facilityId}/users/{userId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a [User](#tag--Users) from a [Facility](#tag--Facilities).","tags":["Facility Users"]}},"/v1/failover-pairs":{"get":{"summary":"List all failover pairs","operationId":"getFailoverPairs","parameters":[{"name":"backupEndpointId","in":"query","description":"The `id` of the endpoint that will be the backup","schema":{"type":"string","format":"uuid"},"example":"cc920eae-c5f4-11ee-82a4-6b06df8a66c6"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name to give to new failover pair","schema":{"type":"string","maximum":140},"example":"Example failover pair"},{"name":"primaryEndpointId","in":"query","description":"The `id` of the endpoint that will be the primary endpoint","schema":{"type":"string","format":"uuid"},"example":"ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae"},{"name":"q","in":"query","description":"Perform a term (stemming) search on failover pair names","schema":{"type":"string"},"example":"failover"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_failover-pairs-response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all failover pairs available to the current user. (The [permissions](#tag--User-Permissions) and\n[security groups](#tag--Security-Groups) associated with the request, through the user attached to the access\ntoken, may limit the resources returned).","tags":["Failover Pairs"]},"post":{"summary":"Create a failover pair","operationId":"createFailoverPair","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/failover-pairs.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_failover-pairs-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'backupEndpointId': 'cc920eae-c5f4-11ee-82a4-6b06df8a66c6',\n    'name': 'Example failover pair',\n    'primaryEndpointId': 'ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae',\n    'timeout': 30\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'backupEndpointId': 'cc920eae-c5f4-11ee-82a4-6b06df8a66c6',\n    'name': 'Example failover pair',\n    'primaryEndpointId': 'ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae',\n    'timeout': 30\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"backupEndpointId\": \"cc920eae-c5f4-11ee-82a4-6b06df8a66c6\",\n         \"name\": \"Example failover pair\",\n         \"primaryEndpointId\": \"ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae\",\n         \"timeout\": 30}'\n"}],"description":"Creates a new Failover Pair.","tags":["Failover Pairs"]}},"/v1/failover-pairs/{failoverPairId}":{"get":{"summary":"Get a failover pair","operationId":"getFailoverPair","parameters":[{"name":"failoverPairId","in":"path","description":"The failover pair id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_failover-pairs-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Failover Pair by its `id`. Since this is not a list request, there is no pagination wrapper around\nthe result.","tags":["Failover Pairs"]},"put":{"summary":"Update a failover pair","operationId":"updateFailoverPair","parameters":[{"name":"failoverPairId","in":"path","description":"The failover pair id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/failover-pairs.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_failover-pairs-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'backupEndpointId': 'cc920eae-c5f4-11ee-82a4-6b06df8a66c6',\n    'name': 'Example failover pair',\n    'primaryEndpointId': 'ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae',\n    'timeout': 30\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'backupEndpointId': 'cc920eae-c5f4-11ee-82a4-6b06df8a66c6',\n    'name': 'Example failover pair',\n    'primaryEndpointId': 'ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae',\n    'timeout': 30\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"backupEndpointId\": \"cc920eae-c5f4-11ee-82a4-6b06df8a66c6\",\n         \"name\": \"Example failover pair\",\n         \"primaryEndpointId\": \"ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae\",\n         \"timeout\": 30}'\n"}],"description":"Updates an existing Failover Pair. Note: If the backup endpoint of the failover pair is changed, the previous backup\nendpoint will undergo a factory reset when the failover pair is updated. This is done to avoid unexpected behavior that\nmay occur when a failover backup becomes a standalone or failover primary server.","tags":["Failover Pairs"]},"delete":{"summary":"Delete a failover pair","operationId":"deleteFailoverPair","parameters":[{"name":"failoverPairId","in":"path","description":"The failover pair id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/failover-pairs/{failoverPairId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Delete an existing Failover Pair. Note: The backup endpoint of the failover pair will undergo a factory reset when the\nfailover pair is deleted. This is done to avoid unexpected behavior that may occur when a failover backup becomes a\nstandalone or failover primary server.","tags":["Failover Pairs"]}},"/v1/features":{"get":{"summary":"Get available features","operationId":"getFeatures","parameters":[],"responses":{"200":{"$ref":"#/components/responses/_features.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/features\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/features\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/features\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the available features list.","tags":["Features"]}},"/v1/gateways":{"get":{"summary":"List all gateways","operationId":"getGateways","parameters":[{"name":"buildingId","in":"query","description":"The ID of the Building the Gateway is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"connectionStatus","in":"query","description":"Optionally filter Gateways by connection status","schema":{"type":"string","enum":["UNKNOWN","CONNECTED","DISCONNECTED"],"example":"DISCONNECTED"},"example":"DISCONNECTED"},{"name":"eui","in":"query","description":"The Gateway's EUI","schema":{"type":"string","maximum":16,"minimum":16},"example":"0205f041c8e3e647"},{"name":"facilityId","in":"query","description":"The ID of the facility this Gateway belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"The ID of the Floor the Gateway is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Gateway belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLatestState","in":"query","description":"Optionally include the Gateway's latest state.","schema":{"type":"boolean"}},{"name":"isDecommissioned","in":"query","description":"Whether the Gateway is currently decommissioned","schema":{"type":"boolean"},"example":true},{"name":"isLocationPinned","in":"query","description":"Optionally include Gateways with or without a pinned location.","schema":{"type":"boolean"}},{"name":"isOutdoorModel","in":"query","description":"Whether the Gateway's model is only compatible with outdoor zones.","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"macAddress","in":"query","description":"The MAC address which identifies the Gateway","schema":{"type":"string","maximum":12,"minimum":12},"example":"aabbccddeeff"},{"name":"model","in":"query","description":"The Gateway's model","schema":{"type":"string","enum":["Multitech_MTCAP3_LTE","Multitech_MTCDTIP","Multitech_MTCAP3"],"example":"Multitech_MTCAP3"},"example":"Multitech_MTCAP3"},{"name":"name","in":"query","description":"The name of the Gateway","schema":{"type":"string","maximum":140,"minimum":3},"example":"Primary Gateway (Multitech MTCAP3)"},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the Gateway is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Gateways whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"type":"string","format":"json"},"example":{"type":"Point","coordinates":[-89.50275,43.114705]}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"q","in":"query","description":"Perform a term (stemming) search on Gateway names and external IDs","schema":{"type":"string"},"example":"Moko"},{"name":"siteId","in":"query","description":"The ID of the Site the Gateway is assigned to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"sort","in":"query","description":"Sorts Gateways by name or outdoor model status. Defaults to name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"telemetryTimestamp","in":"query","description":"The time range to limit recent telemetry attributes to.","schema":{"type":"string","format":"date-time"}},{"name":"telemetryTimestamp__gt","in":"query","description":"Filter results where telemetry-timestamp is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"zoneId","in":"query","description":"The ID of the Zone the Gateway is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/gateways.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]},"post":{"summary":"Create a gateway","operationId":"createGateway","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/gateways.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateways.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': true,\n    'macAddress': 'aabbccddeeff',\n    'model': 'Multitech_MTCAP3',\n    'name': 'Primary Gateway (Multitech MTCAP3)',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': True,\n    'macAddress': 'aabbccddeeff',\n    'model': 'Multitech_MTCAP3',\n    'name': 'Primary Gateway (Multitech MTCAP3)',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"eui\": \"0205f041c8e3e647\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"isDecommissioned\": true,\n         \"macAddress\": \"aabbccddeeff\",\n         \"model\": \"Multitech_MTCAP3\",\n         \"name\": \"Primary Gateway (Multitech MTCAP3)\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}":{"get":{"summary":"Get a gateway","operationId":"getGateway","parameters":[{"name":"connectionStatus","in":"query","description":"Optionally filter Gateways by connection status","schema":{"type":"string","enum":["UNKNOWN","CONNECTED","DISCONNECTED"],"example":"DISCONNECTED"},"example":"DISCONNECTED"},{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Gateway belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLatestState","in":"query","description":"Optionally include the Gateway's latest state.","schema":{"type":"boolean"}},{"name":"telemetryTimestamp","in":"query","description":"The time range to limit recent telemetry attributes to.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateways.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]},"put":{"summary":"Update a gateway","operationId":"updateGateway","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/gateways.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateways.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': true,\n    'macAddress': 'aabbccddeeff',\n    'model': 'Multitech_MTCAP3',\n    'name': 'Primary Gateway (Multitech MTCAP3)',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': True,\n    'macAddress': 'aabbccddeeff',\n    'model': 'Multitech_MTCAP3',\n    'name': 'Primary Gateway (Multitech MTCAP3)',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"eui\": \"0205f041c8e3e647\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"isDecommissioned\": true,\n         \"macAddress\": \"aabbccddeeff\",\n         \"model\": \"Multitech_MTCAP3\",\n         \"name\": \"Primary Gateway (Multitech MTCAP3)\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]},"delete":{"summary":"Delete a gateway","operationId":"deleteGateway","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/certificate":{"get":{"summary":"List all gateway certificate","operationId":"getGatewayCertificates","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_gateway.certificate.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/certificate\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/certificate\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/certificate\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/decommission":{"post":{"summary":"Create a gateway decommission","operationId":"createGatewayDecommission","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/gateways_decommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_gateway.decommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/decommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/decommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/decommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/private-key":{"get":{"summary":"List all gateway private key","operationId":"getGatewayPrivateKeys","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_gateway.private_key.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/private-key\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/private-key\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/private-key\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/recommission":{"post":{"summary":"Create a gateway recommission","operationId":"createGatewayRecommission","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/gateways_recommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_gateway.recommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/recommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/recommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/recommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/refresh-connection-status":{"post":{"summary":"Create a gateway refresh connection status","operationId":"createGatewayRefreshConnectionStatus","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/gateways_refresh-connection-status.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_gateway.refresh_connection_status.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/refresh-connection-status\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/refresh-connection-status\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/refresh-connection-status\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/reset":{"post":{"summary":"Create a gateway reset","operationId":"createGatewayReset","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/gateways_reset.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_gateway.reset.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/reset\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/reset\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/reset\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/rotate-certificate":{"post":{"summary":"Create a gateway rotate certificate","operationId":"createGatewayRotateCertificate","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/gateways_rotate-certificate.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateways_rotate-certificate.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"$ref":"#/components/responses/_gateway.rotate_certificate.post.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/rotate-certificate\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/rotate-certificate\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/rotate-certificate\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/gateways/{gatewayId}/service-endpoints":{"get":{"summary":"List all gateway service endpoints","operationId":"getGatewayServiceEndpoints","parameters":[{"name":"gatewayId","in":"path","description":"The gateway id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_gateway.service_endpoints.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/service-endpoints\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/service-endpoints\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/gateways/{gatewayId}/service-endpoints\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Gateways"]}},"/v1/idps":{"get":{"summary":"List All Identity Providers","operationId":"getIdps","parameters":[{"name":"isDefault","in":"query","description":"Whether this is the “default” Identity Provider. This means that Users with a `providerIdpId` value of `null` will use this Identity Provider for authentication","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on IDP names and types","schema":{"type":"string"},"example":"Goog"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/idps.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of Identity Providers.","tags":["Identity Providers"]}},"/v1/idps/{idpId}":{"get":{"summary":"Get an Identity Provider","operationId":"getIdp","parameters":[{"name":"idpId","in":"path","description":"The idp id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/idps.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Identity Provider by id. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Identity Providers"]},"put":{"summary":"Update an Identity Provider","operationId":"updateIdp","parameters":[{"name":"idpId","in":"path","description":"The idp id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/idps.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/idps.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'enabled': true,\n    'enforce2fa': true,\n    'idpBrand': 'google',\n    'isDefault': true,\n    'name': 'Google',\n    'selfRegistrationEnabled': false,\n    'type': 'google'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'enabled': True,\n    'enforce2fa': True,\n    'idpBrand': 'google',\n    'isDefault': True,\n    'name': 'Google',\n    'selfRegistrationEnabled': False,\n    'type': 'google'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"enabled\": true,\n         \"enforce2fa\": true,\n         \"idpBrand\": \"google\",\n         \"isDefault\": true,\n         \"name\": \"Google\",\n         \"selfRegistrationEnabled\": false,\n         \"type\": \"google\"}'\n"}],"description":"Updates an existing Identity Provider.","tags":["Identity Providers"]}},"/v1/idps/{idpId}/draft":{"post":{"summary":"Create an idp draft","operationId":"createIdpDraft","parameters":[{"name":"idpId","in":"path","description":"The idp id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/idps_draft.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/idps_draft.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/draft\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/draft\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/draft\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Identity Providers"]}},"/v1/idps/{idpId}/promote":{"post":{"summary":"Create an idp promote","operationId":"createIdpPromote","parameters":[{"name":"idpId","in":"path","description":"The idp id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/idps_promote.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/idps_promote.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/promote\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/promote\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/promote\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Identity Providers"]}},"/v1/idps/{idpId}/test":{"get":{"summary":"List all idp test","operationId":"getIdpTests","parameters":[{"name":"idpId","in":"path","description":"The idp id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/idps_test.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Identity Providers"]},"post":{"summary":"Create an idp test","operationId":"createIdpTest","parameters":[{"name":"idpId","in":"path","description":"The idp id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/idps_test.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/idps_test.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field authorizationUrl is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Identity Providers"]},"delete":{"summary":"Delete an idp test","operationId":"deleteIdpTest","parameters":[{"name":"idpId","in":"path","description":"The idp id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/idps/{idpId}/test\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Identity Providers"]}},"/v1/inbound-cap-rules":{"get":{"summary":"List all inbound cap rules","operationId":"getInboundCapRules","parameters":[{"name":"disabled","in":"query","description":"Whether or not CAP messages matching this rule triggers a notification","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The Inbound CAP rule’s display name","schema":{"type":"string","maximum":140},"example":"Severe Weather"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/inbound-cap-rules.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all Inbound CAP rules. (The permissions associated with the request,\nthrough the user attached to the access token, may limit the visibility of Inbound CAP rules.)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound CAP"]},"post":{"summary":"Create an inbound cap rule","operationId":"createInboundCapRule","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-cap-rules.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-cap-rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'expression': '(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\"WIZ063\") || areaGeocodeFips6SAMEContains(\"55025\")) && ( alertTextContains(\"Severe Weather\")) && (categoryIsMet())',\n    'languageCode': 'en',\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Severe Weather'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'expression': '(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\"WIZ063\") || areaGeocodeFips6SAMEContains(\"55025\")) && ( alertTextContains(\"Severe Weather\")) && (categoryIsMet())',\n    'languageCode': 'en',\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Severe Weather'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"expression\": \"(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\\\"WIZ063\\\") || areaGeocodeFips6SAMEContains(\\\"55025\\\")) && ( alertTextContains(\\\"Severe Weather\\\")) && (categoryIsMet())\",\n         \"languageCode\": \"en\",\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Severe Weather\"}'\n"}],"description":"Create a new Inbound CAP rule.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound CAP"]}},"/v1/inbound-cap-rules/{inboundCapRuleId}":{"get":{"summary":"Get an inbound cap rule","operationId":"getInboundCapRule","parameters":[{"name":"inboundCapRuleId","in":"path","description":"The inbound cap rule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-cap-rules.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Inbound CAP rule by `id`. Since this is not a list request,\nthere is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound CAP"]},"put":{"summary":"Update an inbound cap rule","operationId":"updateInboundCapRule","parameters":[{"name":"inboundCapRuleId","in":"path","description":"The inbound cap rule id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-cap-rules.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-cap-rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'expression': '(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\"WIZ063\") || areaGeocodeFips6SAMEContains(\"55025\")) && ( alertTextContains(\"Severe Weather\")) && (categoryIsMet())',\n    'languageCode': 'en',\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Severe Weather'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'expression': '(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\"WIZ063\") || areaGeocodeFips6SAMEContains(\"55025\")) && ( alertTextContains(\"Severe Weather\")) && (categoryIsMet())',\n    'languageCode': 'en',\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Severe Weather'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"expression\": \"(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\\\"WIZ063\\\") || areaGeocodeFips6SAMEContains(\\\"55025\\\")) && ( alertTextContains(\\\"Severe Weather\\\")) && (categoryIsMet())\",\n         \"languageCode\": \"en\",\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Severe Weather\"}'\n"}],"description":"Updates an existing Inbound CAP rule.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound CAP"]},"delete":{"summary":"Delete an inbound cap rule","operationId":"deleteInboundCapRule","parameters":[{"name":"inboundCapRuleId","in":"path","description":"The inbound cap rule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-cap-rules/{inboundCapRuleId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound CAP"]}},"/v1/inbound-email":{"get":{"summary":"List all inbound email","operationId":"getInboundEmails","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The Inbound Email configuration’s display name","schema":{"type":"string","maximum":140},"example":"General Update"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/inbound-email.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all Inbound Email configurations. (The permissions\nassociated with the request, through the user attached to the access token,\nmay limit the visibility of Inbound Emails.)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound Email"]},"post":{"summary":"Create an inbound email","operationId":"createInboundEmail","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-email.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-email.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'General Update',\n    'securityLevel': 'high',\n    'sourceWhitelist': 'administrator@example.com'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'General Update',\n    'securityLevel': 'high',\n    'sourceWhitelist': 'administrator@example.com'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"General Update\",\n         \"securityLevel\": \"high\",\n         \"sourceWhitelist\": \"administrator@example.com\"}'\n"}],"description":"Create a new Inbound Email.\n\nNote that after creating an Inbound Email configuration, you need to attach\nat least one [Outbound Rule](#tag--Outbound-Rules) to complete the\nrequired setup and specify the [Message Template](#tag--Message-Templates)\nto be used for creating notifications.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound Email"]}},"/v1/inbound-email/{inboundEmailId}":{"get":{"summary":"Get an inbound email","operationId":"getInboundEmail","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-email.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Inbound Email configuration by `id`. Since this is not\na list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound Email"]},"put":{"summary":"Update an inbound email","operationId":"updateInboundEmail","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-email.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-email.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'General Update',\n    'securityLevel': 'high',\n    'sourceWhitelist': 'administrator@example.com'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'General Update',\n    'securityLevel': 'high',\n    'sourceWhitelist': 'administrator@example.com'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"General Update\",\n         \"securityLevel\": \"high\",\n         \"sourceWhitelist\": \"administrator@example.com\"}'\n"}],"description":"Updates an existing Inbound Email configuration.\n\nWhile not required for creating or updating, you must attach an\n[Outbound Rule](#tag--Outbound-Rules) before an Inbound Email\nconfiguration can be used to generate notifications based on receipt of an email.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound Email"]},"delete":{"summary":"Delete an inbound email","operationId":"deleteInboundEmail","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing Inbound Email configuration.\n\nAny associated [Outbound Rules](#tag--Outbound-Rules) will be deleted along with the Inbound Email configuration.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound Email"]}},"/v1/inbound-email/{inboundEmailId}/outbound-rules":{"get":{"summary":"List all inbound email outbound rules","operationId":"getInboundEmailOutboundRules","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The Rule’s display name","schema":{"type":"string","maximum":140},"example":"Fire Door Info"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/inbound-email_outbound-rules.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"For any given Inbound Email configuration, you can list all of its attached outbound rules.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Outbound Rules"]},"post":{"summary":"Create an inbound email outbound rule","operationId":"createInboundEmailOutboundRule","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-email_outbound-rules.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-email_outbound-rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field inboundEmailId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'bodyCriteria': [\n        'fire'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Fire Door Info',\n    'subjectCriteria': [\n        'gym',\n        'door'\n    ],\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'bodyCriteria': [\n        'fire'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Fire Door Info',\n    'subjectCriteria': [\n        'gym',\n        'door'\n    ],\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"bodyCriteria\": [\n             \"fire\"\n         ],\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Fire Door Info\",\n         \"subjectCriteria\": [\n             \"gym\",\n             \"door\"\n         ],\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Create a new Outbound Rule.\n\nNote that the recipients (users and distribution lists) will override any recipients specified\nin the associated message template. If no overrides are given, the values from the message template will be used.\n\nAlso note that the subject and body criteria are considered “any” criteria. If any keywords are found in their\nrespective location, the ruleset will be used to generate a notification. If multiple criteria from one\nruleset match, only one notification will be sent. However, if multiple rulesets from a given Inbound Email\nconfiguration match, each ruleset will generate its own notification.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Outbound Rules"]}},"/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}":{"get":{"summary":"Get an inbound email outbound rule","operationId":"getInboundEmailOutboundRule","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"outboundRuleId","in":"path","description":"The outbound rule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-email_outbound-rules.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Outbound Rule by `ruleId` and `inboundId`. Since this is not a list request,\nthere is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Outbound Rules"]},"put":{"summary":"Update an inbound email outbound rule","operationId":"updateInboundEmailOutboundRule","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"outboundRuleId","in":"path","description":"The outbound rule id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-email_outbound-rules.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-email_outbound-rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field inboundEmailId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'bodyCriteria': [\n        'fire'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Fire Door Info',\n    'subjectCriteria': [\n        'gym',\n        'door'\n    ],\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'bodyCriteria': [\n        'fire'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Fire Door Info',\n    'subjectCriteria': [\n        'gym',\n        'door'\n    ],\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"bodyCriteria\": [\n             \"fire\"\n         ],\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Fire Door Info\",\n         \"subjectCriteria\": [\n             \"gym\",\n             \"door\"\n         ],\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Updates an existing Outbound Rule.\n\nNote that the recipients (users and distribution lists) will override any recipients specified in the\nassociated message template. If no overrides are given, the values from the message template will be used.\n\nAlso note that the subject and body criteria are considered “any” criteria. If any keywords are found in\ntheir respective location, the ruleset will be used to generate a notification. If multiple criteria from\none ruleset match, only one notification will be sent. However, if multiple rulesets from a given\nInbound Email configuration match, each ruleset will generate its own notification.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Outbound Rules"]},"delete":{"summary":"Delete an inbound email outbound rule","operationId":"deleteInboundEmailOutboundRule","parameters":[{"name":"inboundEmailId","in":"path","description":"The inbound email id path parameter","required":true,"schema":{"type":"string"}},{"name":"outboundRuleId","in":"path","description":"The outbound rule id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-email/{inboundEmailId}/outbound-rules/{outboundRuleId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing Outbound Rule.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Outbound Rules"]}},"/v1/inbound-rss-feeds":{"get":{"summary":"List all inbound rss feeds","operationId":"getInboundRssFeeds","parameters":[{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/inbound-rss-feeds.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all inbound rss feeds to monitor.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound RSS"]},"post":{"summary":"Create an inbound rss feed","operationId":"createInboundRssFeed","parameters":[{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-rss-feeds.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-rss-feeds.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field url is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'The Onion',\n    'url': 'https://www.theonion.com/rss'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'The Onion',\n    'url': 'https://www.theonion.com/rss'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"The Onion\",\n         \"url\": \"https://www.theonion.com/rss\"}'\n"}],"description":"Create a new inbound RSS feed.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound RSS"]}},"/v1/inbound-rss-feeds/{inboundRssFeedId}":{"get":{"summary":"Get an inbound rss feed","operationId":"getInboundRssFeed","parameters":[{"name":"inboundRssFeedId","in":"path","description":"The inbound rss feed id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-rss-feeds.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single inbound RSS feed by `id`. Since this is not a list request,\nthere is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound RSS"]},"put":{"summary":"Update an inbound rss feed","operationId":"updateInboundRssFeed","parameters":[{"name":"inboundRssFeedId","in":"path","description":"The inbound rss feed id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/inbound-rss-feeds.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inbound-rss-feeds.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field url is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'The Onion',\n    'url': 'https://www.theonion.com/rss'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'The Onion',\n    'url': 'https://www.theonion.com/rss'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"The Onion\",\n         \"url\": \"https://www.theonion.com/rss\"}'\n"}],"description":"Updates an existing inbound RSS feed.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound RSS"]},"delete":{"summary":"Delete an inbound rss feed","operationId":"deleteInboundRssFeed","parameters":[{"name":"inboundRssFeedId","in":"path","description":"The inbound rss feed id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/inbound-rss-feeds/{inboundRssFeedId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Inbound RSS"]}},"/v1/incident-plans":{"get":{"summary":"List all incident plans","operationId":"getIncidentPlans","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this incident plan belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this incident plan belongs","schema":{"type":"boolean"},"example":true},{"name":"includeMessageTemplates","in":"query","description":"Whether to include associated Message Templates in the response.","schema":{"type":"boolean"}},{"name":"includeResources","in":"query","description":"Whether to include associated Incident Plan Resources in the response.","schema":{"type":"boolean"}},{"name":"includeRostering","in":"query","description":"Whether to include rostering info (statuses and locations) in response.","schema":{"type":"boolean"},"example":true},{"name":"includeScenarios","in":"query","description":"Whether to include the ID, name, icon, and background-color values for related Scenarios in the response. <br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"isShared","in":"query","description":"Denotes whether or not this incident plan is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on incident plan names and/or descriptions","schema":{"type":"string"},"example":"Outage"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_incident-plans.base"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of Incident Plans.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incident Plans"]},"post":{"summary":"Create an incident plan","operationId":"createIncidentPlan","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incident-plans.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_incident-plans.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'allowMultipleActiveIncidents': false,\n    'description': 'Network connections interrupted - Updates will follow',\n    'isShared': true,\n    'name': 'IT Outage',\n    'resources': '[]'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'allowMultipleActiveIncidents': False,\n    'description': 'Network connections interrupted - Updates will follow',\n    'isShared': True,\n    'name': 'IT Outage',\n    'resources': '[]'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"allowMultipleActiveIncidents\": false,\n         \"description\": \"Network connections interrupted - Updates will follow\",\n         \"isShared\": true,\n         \"name\": \"IT Outage\",\n         \"resources\": \"[]\"}'\n"}],"description":"Create a new Incident Plan. Note: `scenarioIds`, `messageTemplateIds`, `rostering`, and `resources` work with PUTs but not POSTs.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incident Plans"]}},"/v1/incident-plans/{incidentPlanId}":{"get":{"summary":"Get an incident plan","operationId":"getIncidentPlan","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this incident plan belongs","schema":{"type":"boolean"},"example":true},{"name":"includeMessageTemplates","in":"query","description":"Whether to include associated Message Templates in the response.","schema":{"type":"boolean"}},{"name":"includeResources","in":"query","description":"Whether to include associated Incident Plan Resources in the response.","schema":{"type":"boolean"}},{"name":"includeRostering","in":"query","description":"Whether to include rostering info (statuses and locations) in response.","schema":{"type":"boolean"},"example":true},{"name":"includeScenarios","in":"query","description":"Whether to include the ID, name, icon, and background-color values for related Scenarios in the response. <br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_incident-plans.base"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Incident Plan by its `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incident Plans"]},"put":{"summary":"Update an incident plan","operationId":"updateIncidentPlan","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incident-plans.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_incident-plans.base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'allowMultipleActiveIncidents': false,\n    'description': 'Network connections interrupted - Updates will follow',\n    'isShared': true,\n    'name': 'IT Outage',\n    'resources': '[]'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'allowMultipleActiveIncidents': False,\n    'description': 'Network connections interrupted - Updates will follow',\n    'isShared': True,\n    'name': 'IT Outage',\n    'resources': '[]'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"allowMultipleActiveIncidents\": false,\n         \"description\": \"Network connections interrupted - Updates will follow\",\n         \"isShared\": true,\n         \"name\": \"IT Outage\",\n         \"resources\": \"[]\"}'\n"}],"description":"Update an existing Incident Plan.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incident Plans"]},"delete":{"summary":"Delete an incident plan","operationId":"deleteIncidentPlan","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incident Plans"]}},"/v1/incident-plans/{incidentPlanId}/message-templates":{"get":{"summary":"List all incident plan message templates","operationId":"getIncidentPlanMessageTemplates","parameters":[{"name":"confirmationRequestId","in":"query","description":"The `id` of the attached Confirmation Request.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"string","format":"uuid"}},{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incident-plans_message-templates.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/message-templates\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/message-templates\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/message-templates\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of Incident Plan Message Templates.","tags":["Incident Plan Message Templates"]}},"/v1/incident-plans/{incidentPlanId}/message-templates/{messageTemplateId}":{"get":{"summary":"Get an incident plan message template","operationId":"getIncidentPlanMessageTemplate","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incident-plans_message-templates.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/message-templates/{messageTemplateId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/message-templates/{messageTemplateId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/message-templates/{messageTemplateId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves Scenario information based on the id values of the Incident Plan and Incident Plan Scenario. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Incident Plan Message Templates"]}},"/v1/incident-plans/{incidentPlanId}/resources":{"get":{"summary":"List all incident plan resources","operationId":"getIncidentPlanResources","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on incident plan names or types","schema":{"type":"string"},"example":"Helpdesk"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incident-plans_resources.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of Incident Plan Resources.","tags":["Incident Plan Resources"]},"post":{"summary":"Create an incident plan resource","operationId":"createIncidentPlanResource","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incident-plans_resources.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incident-plans_resources.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'hyperlink': 'https://www.example.com',\n    'name': 'Helpdesk Website',\n    'type': 'hyperlink'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'hyperlink': 'https://www.example.com',\n    'name': 'Helpdesk Website',\n    'type': 'hyperlink'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"hyperlink\": \"https://www.example.com\",\n         \"name\": \"Helpdesk Website\",\n         \"type\": \"hyperlink\"}'\n"}],"description":"Create a new Incident Plan Resource.","tags":["Incident Plan Resources"]}},"/v1/incident-plans/{incidentPlanId}/resources/{resourceId}":{"get":{"summary":"Get an incident plan resource","operationId":"getIncidentPlanResource","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"resourceId","in":"path","description":"The resource id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incident-plans_resources.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves resource information based on the id values of the Incident Plan and Incident Plan Resource. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Incident Plan Resources"]},"delete":{"summary":"Delete an incident plan resource","operationId":"deleteIncidentPlanResource","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"resourceId","in":"path","description":"The resource id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Incident Plan Resources"]}},"/v1/incident-plans/{incidentPlanId}/resources/{resourceId}/file":{"get":{"summary":"Get an Incident Plan Resource’s File Data","operationId":"getIncidentPlanResourceFiles","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"resourceId","in":"path","description":"The resource id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_incident-resource-file.get-response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_incident-resource-file.redirect-response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}/file\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}/file\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/resources/{resourceId}/file\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the file data for an Incident Plan Resource, if any, as a binary stream. For improved performance, this will likely involve redirection (via an HTTP 302 Redirect response) to an AWS CloudFront content distribution network node which has cached the content closer geographically to where the request originated than the Singlewire REST API servers.","tags":["Incident Plan Resources"]}},"/v1/incident-plans/{incidentPlanId}/scenarios":{"get":{"summary":"List all incident plan scenarios","operationId":"getIncidentPlanScenarios","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incident-plans_scenarios.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/scenarios\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/scenarios\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/scenarios\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of Incident Plan Scenarios.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incident Plan Scenarios"]}},"/v1/incident-plans/{incidentPlanId}/scenarios/{scenarioId}":{"get":{"summary":"Get an incident plan scenario","operationId":"getIncidentPlanScenario","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}},{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incident-plans_scenarios.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/scenarios/{scenarioId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/scenarios/{scenarioId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/scenarios/{scenarioId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves Scenario information based on the id values of the Incident Plan and Incident Plan Scenario. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incident Plan Scenarios"]}},"/v1/incident-plans/{incidentPlanId}/visitor-aware-mapping-status":{"get":{"summary":"Get incident plan visitor aware mappings status","operationId":"getIncidentPlanVisitorAwareMappingStatuses","parameters":[{"name":"incidentPlanId","in":"path","description":"The incident plan id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incident-plans_visitor-aware-mapping-status.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/visitor-aware-mapping-status\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/visitor-aware-mapping-status\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incident-plans/{incidentPlanId}/visitor-aware-mapping-status\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the Mappings Completed status","tags":["Incident Plan Visitor Aware Mapping Status"]}},"/v1/incidents":{"get":{"summary":"List all incidents","operationId":"getIncidents","parameters":[{"name":"buildingId","in":"query","description":"Filter list of Incidents to only those initiated in the specified Building.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"facilityId","in":"query","description":"The ID of the facility this incident belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"Filter list of Incidents to only those initiated on the specified Floor.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this incident belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLocation","in":"query","description":"Whether to include the location where the incident was initiated, and the device that initiated it.","schema":{"type":"boolean"}},{"name":"includeNotificationCount","in":"query","description":"Whether to include the number of notifications sent during the incident.","schema":{"type":"boolean"}},{"name":"includeResources","in":"query","description":"Whether to include associated Incident Resources in the response.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"ongoingOnly","in":"query","description":"Whether to only include Ongoing Incidents in the response.","schema":{"type":"boolean"}},{"name":"siteId","in":"query","description":"Filter list of Incidents to only those assigned to the specified Site.","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"zoneId","in":"query","description":"Filter list of Incidents to only those initiated in the specified Zone.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incidents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all Incidents.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incidents"]},"post":{"summary":"Create an incident","operationId":"createIncident","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field incidentPlanId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentPlanId': '36b2411b-cd0b-11ee-9027-edf5cd113c88'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentPlanId': '36b2411b-cd0b-11ee-9027-edf5cd113c88'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentPlanId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\"}'\n"}],"description":"Create a new Incident. Although Incidents may be triggered by specifying an [Incident Plan](#tag--Incident-Plans) on a [Message Template](#tag--Message-Templates) or [Scenario](#tag--Scenarios), You may also start an Incident using the `/incidents` API directly.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incidents"]}},"/v1/incidents/{incidentId}":{"get":{"summary":"Get an incident","operationId":"getIncident","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this incident belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLocation","in":"query","description":"Whether to include the location where the incident was initiated, and the device that initiated it.","schema":{"type":"boolean"}},{"name":"includeNotificationCount","in":"query","description":"Whether to include the number of notifications sent during the incident.","schema":{"type":"boolean"}},{"name":"includeResources","in":"query","description":"Whether to include associated Incident Resources in the response.","schema":{"type":"boolean"}},{"name":"ongoingOnly","in":"query","description":"Whether to only include Ongoing Incidents in the response.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Incident by its `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incidents"]},"delete":{"summary":"Delete an incident","operationId":"deleteIncident","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes an Incident from the record. Generally only administrative users will have permission to do this.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Incidents"]}},"/v1/incidents/{incidentId}/activities":{"get":{"summary":"List all incident activities","operationId":"getIncidentActivities","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on activity type","schema":{"type":"string"},"example":"end-incident"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"query","description":"The ID of the User that created the activity","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incidents_activities.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all activities recorded for the specified Incident.","tags":["Incident Activities"]},"post":{"summary":"Create an Activity To End an Incident","operationId":"createIncidentActivity","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_activities.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_activities.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field incidentId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'type': 'end-incident'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'type': 'end-incident'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"type\": \"end-incident\"}'\n"}],"description":"Creates a new `end-incident` Activity to end the specified Incident. Since this is not a list request, there is no pagination wrapper around the result.\n\nAlthough incidents can have other types of activities added by the system, the only type that you can post yourself is `end-incident`.","tags":["Incident Activities"]}},"/v1/incidents/{incidentId}/activities/{activityId}":{"get":{"summary":"Get an incident activity","operationId":"getIncidentActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_activities.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities/{activityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/activities/{activityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific activity based the `id` values of the Incident and Activity. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Incident Activities"]}},"/v1/incidents/{incidentId}/resources":{"get":{"summary":"List all incident resources","operationId":"getIncidentResources","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"Whether to include image URLs for the resource. Only applies for file resources that contentType start with image","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incidents_resources.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of Incident Resources.","tags":["Incident Resources"]},"post":{"summary":"Create an incident resource","operationId":"createIncidentResource","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_resources.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_resources.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'hyperlink': 'https://www.example.com',\n    'name': 'Helpdesk Website',\n    'type': 'hyperlink'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'hyperlink': 'https://www.example.com',\n    'name': 'Helpdesk Website',\n    'type': 'hyperlink'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"hyperlink\": \"https://www.example.com\",\n         \"name\": \"Helpdesk Website\",\n         \"type\": \"hyperlink\"}'\n"}],"description":"Create a new Incident Resource.","tags":["Incident Resources"]}},"/v1/incidents/{incidentId}/resources/{resourceId}":{"get":{"summary":"Get an incident resource","operationId":"getIncidentResource","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"Whether to include image URLs for the resource. Only applies for file resources that contentType start with image","schema":{"type":"boolean"}},{"name":"resourceId","in":"path","description":"The resource id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_resources.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves resource information based on the `id` values of the Incident and Incident Resource. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Incident Resources"]},"delete":{"summary":"Remove an incident resource","operationId":"deleteIncidentResource","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"resourceId","in":"path","description":"The resource id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing Incident Resource. This may only be done for Ongoing Incidents.","tags":["Incident Resources"]}},"/v1/incidents/{incidentId}/resources/{resourceId}/file":{"get":{"summary":"Get an incident resource's file data","operationId":"getIncidentResourceFiles","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"resourceId","in":"path","description":"The resource id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_incident-resource-file.get-response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_incident-resource-file.redirect-response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}/file\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}/file\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/resources/{resourceId}/file\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the file data for an Incident Resource, if any, as a binary stream. For improved performance, this will likely involve redirection (via an HTTP 302 Redirect response) to an AWS CloudFront content distribution network node which has cached the content closer geographically to where the request originated than the Singlewire REST API servers.\n\nProduces a binary stream of the file data, with the specific MIME type identified in the response header. Will likely involve redirection to a content distribution network server closer to where the request originated.","tags":["Incident Resources"]}},"/v1/incidents/{incidentId}/rostering-members":{"get":{"summary":"List all incident rostering members","operationId":"getIncidentRosteringMembers","parameters":[{"name":"filterLocations","in":"query","description":"A JSON-encoded array of locations on which to filter Rostering (Roll Call) members. To filter on 'Unknown’, include a location of `null`.","schema":{"type":"string","format":"json"}},{"name":"filterStatuses","in":"query","description":"A JSON-encoded array of statuses on which to filter Rostering (Roll Call) members. To filter on ‘Unknown’, include a status of `null`.","schema":{"type":"string","format":"json"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on Rostering (Roll Call) member user names","schema":{"type":"string"},"example":"Jane"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_rostering-members.list.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all members of the Incident’s Rostering list.","tags":["Incident Rostering (Roll Call) Members"]},"post":{"summary":"Bulk Update Rostering Member Statuses and Locations","operationId":"createIncidentRosteringMember","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_rostering-members.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_rostering-members.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field incidentId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"383439bd-d028-11ee-9027-05a8c3652e5e\",\n         \"location\": \"Reunification Zone\",\n         \"status\": \"Safe\"}'\n"}],"description":"Updates the status and/or location of all specified Rostering members.","tags":["Incident Rostering (Roll Call) Members"]}},"/v1/incidents/{incidentId}/rostering-members/{rosteringMemberId}":{"get":{"summary":"Get an incident rostering member","operationId":"getIncidentRosteringMember","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"rosteringMemberId","in":"path","description":"The rostering member id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_rostering-members.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members/{rosteringMemberId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members/{rosteringMemberId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members/{rosteringMemberId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific Rostering member based on the `id` values of the Incident and Rostering member. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Incident Rostering (Roll Call) Members"]},"put":{"summary":"Update One Rostering Member Status and Location","operationId":"updateIncidentRosteringMember","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"rosteringMemberId","in":"path","description":"The rostering member id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_rostering-members.put-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_rostering-members.put.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field incidentId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members/{rosteringMemberId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members/{rosteringMemberId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-members/{rosteringMemberId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"383439bd-d028-11ee-9027-05a8c3652e5e\",\n         \"location\": \"Reunification Zone\",\n         \"status\": \"Safe\"}'\n"}],"description":"Updates the status and/or location of the specified Rostering member.","tags":["Incident Rostering (Roll Call) Members"]}},"/v1/incidents/{incidentId}/rostering-my-list":{"get":{"summary":"Get rostering my list","operationId":"getIncidentRosteringMyLists","parameters":[{"name":"filterLocations","in":"query","description":"A JSON-encoded array of locations on which to filter Rostering (Roll Call) members, to filter on `Unknown`, include a location of `null`","schema":{"type":"string","format":"json"}},{"name":"filterStatuses","in":"query","description":"A JSON-encoded array of statuses on which to filter Rostering (Roll Call) members, to filter on `Unknown`, include a status of `null`","schema":{"type":"string","format":"json"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incidents_rostering-my-list.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-my-list\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-my-list\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-my-list\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all Rostering members whose status and/or location the requesting user has updated. If the\nrequesting user has not updated any status or location of any Rostering members, then an empty list will be returned.\nThe requesting user can only get their own Rostering My List, and will be unable to access any other user’s My List.","tags":["Incident Rostering (Roll Call) My List"]}},"/v1/incidents/{incidentId}/rostering-my-list/{rosteringMyListId}":{"get":{"summary":"Get an incident rostering my list","operationId":"getIncidentRosteringMyList","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"rosteringMyListId","in":"path","description":"The rostering my list id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_rostering-my-list.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-my-list/{rosteringMyListId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-my-list/{rosteringMyListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-my-list/{rosteringMyListId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Incident Rostering (Roll Call) My List"]}},"/v1/incidents/{incidentId}/rostering-report":{"get":{"summary":"Get rostering report","operationId":"getIncidentRosteringReports","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_rostering-report.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-report\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-report\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/rostering-report\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the user counts for each status in the Rostering event.","tags":["Incident Rostering (Roll Call) Report"]}},"/v1/incidents/{incidentId}/site":{"post":{"summary":"Assign a site to an incident","operationId":"createIncidentSite","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_site.post-request"}}}},"responses":{"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"description":"A successful response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/site\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/site\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/site\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\"}'\n"}],"description":"Assigns a Site to the specified Incident.","tags":["Incident Site"]}},"/v1/incidents/{incidentId}/tracking-streams":{"get":{"summary":"List all incident tracking streams","operationId":"getIncidentTrackingStreams","parameters":[{"name":"createdAt","in":"query","description":"When the Tracking Stream began.","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeLatestLocation","in":"query","description":"Whether to include the latest location from Tracking Stream Events.","schema":{"type":"boolean"}},{"name":"initiationUserId","in":"query","description":"The ID of the user the Tracking Stream was initiated by","schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"ongoingOnly","in":"query","description":"Whether to only include ongoing Tracking Streams in the response.","schema":{"type":"boolean"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"state","in":"query","description":"The state of the Tracking Stream","schema":{"type":"string","enum":["active","ended"],"example":"active"},"example":"active"},{"name":"updatedAt","in":"query","description":"The last timestamp the Tracking Stream was updated at","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incidents_tracking-streams.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Streams"]},"post":{"summary":"Create an incident tracking stream","operationId":"createIncidentTrackingStream","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field state is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'initiationDevice': '{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'initiationDevice': '{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"initiationDevice\": \"{\\\"lookupValue\\\":\\\"vape-123\\\",\\\"type\\\":\\\"api-device\\\"}\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Streams"]}},"/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}":{"get":{"summary":"Get an incident tracking stream","operationId":"getIncidentTrackingStream","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeLatestLocation","in":"query","description":"Whether to include the latest location from Tracking Stream Events.","schema":{"type":"boolean"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Streams"]}},"/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end":{"post":{"summary":"Create an incident tracking stream end","operationId":"createIncidentTrackingStreamEnd","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams_end.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams_end.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field reason is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'comment': 'User no longer needed help.',\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'reason': 'user-initiated',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'comment': 'User no longer needed help.',\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'reason': 'user-initiated',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"comment\": \"User no longer needed help.\",\n         \"incidentId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"reason\": \"user-initiated\",\n         \"trackingStreamId\": \"46b2411b-cd0b-11ee-9027-edf5cd113c89\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["End Tracking Stream"]}},"/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events":{"get":{"summary":"List all incident tracking stream events","operationId":"getIncidentTrackingStreamEvents","parameters":[{"name":"createdAt","in":"query","description":"When the Tracking Stream Event was created.","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of Tracking Stream Event.","schema":{"type":"string","enum":["ended","location-updated"],"example":"ended"},"example":"ended"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/incidents_tracking-streams_events.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Stream Events"]}},"/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}":{"get":{"summary":"Get an incident tracking stream event","operationId":"getIncidentTrackingStreamEvent","parameters":[{"name":"eventId","in":"path","description":"The event id path parameter","required":true,"schema":{"type":"string"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams_events.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Stream Events"]}},"/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location":{"post":{"summary":"Create an incident tracking stream update location","operationId":"createIncidentTrackingStreamUpdateLocation","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams_update-location.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/incidents_tracking-streams_update-location.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field locationResolutionStatusCode is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'location': {\n        'building': {\n            'id': 'b321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Nougat Processing'\n        },\n        'floor': {\n            'id': '4321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Basement'\n        },\n        'site': {\n            'id': '58fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Chocolate Factory'\n        },\n        'zone': {\n            'id': '38fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Taste Testing Room'\n        }\n    },\n    'locationResolutionStatusCode': 'OS_LOCATION',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'location': {\n        'building': {\n            'id': 'b321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Nougat Processing'\n        },\n        'floor': {\n            'id': '4321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Basement'\n        },\n        'site': {\n            'id': '58fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Chocolate Factory'\n        },\n        'zone': {\n            'id': '38fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Taste Testing Room'\n        }\n    },\n    'locationResolutionStatusCode': 'OS_LOCATION',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"location\": {\n             \"building\": {\n                 \"id\": \"b321c52b-064b-11ea-9265-f333e562b36b\",\n                 \"name\": \"Nougat Processing\"\n             },\n             \"floor\": {\n                 \"id\": \"4321c52b-064b-11ea-9265-f333e562b36b\",\n                 \"name\": \"Basement\"\n             },\n             \"site\": {\n                 \"id\": \"58fa0f0c-39fc-11e9-8c83-c128c081826b\",\n                 \"name\": \"Chocolate Factory\"\n             },\n             \"zone\": {\n                 \"id\": \"38fa0f0c-39fc-11e9-8c83-c128c081826b\",\n                 \"name\": \"Taste Testing Room\"\n             }\n         },\n         \"locationResolutionStatusCode\": \"OS_LOCATION\",\n         \"trackingStreamId\": \"46b2411b-cd0b-11ee-9027-edf5cd113c89\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Update a Tracking Stream's Location"]}},"/v1/installed-applications":{"get":{"summary":"List all installed applications","operationId":"getInstalledApplications","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the icon file in the response when available","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the Application","schema":{"type":"string"},"example":"Smoke and CO Monitoring"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/installed-applications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of installed OAuth 2.0 applications.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Installed Applications"]},"post":{"summary":"Install an application","operationId":"createInstalledApplication","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/installed-applications.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/installed-applications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field applicationId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'applicationId': 'dd0abee3-c8e9-11f1-9434-f36f32d7c50d'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'applicationId': 'dd0abee4-c8e9-11f1-9434-b562a970a3a6'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"applicationId\": \"dd0abee5-c8e9-11f1-9434-4f7d0a030c9e\"}'\n"}],"description":"Installs a new [application](#tag--Applications).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Installed Applications"]}},"/v1/installed-applications/{installedApplicationId}":{"get":{"summary":"Get an installed application","operationId":"getInstalledApplication","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the icon file in the response when available","schema":{"type":"boolean"}},{"name":"installedApplicationId","in":"path","description":"The installed application id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/installed-applications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific installed application by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Installed Applications"]},"delete":{"summary":"Uninstall an application","operationId":"deleteInstalledApplication","parameters":[{"name":"installedApplicationId","in":"path","description":"The installed application id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Uninstall an [application](#tag--Applications).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Installed Applications"]}},"/v1/installed-applications/{installedApplicationId}/tokens":{"get":{"summary":"List all installed application tokens","operationId":"getInstalledApplicationTokens","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"expires__gt","in":"query","description":"Filter results where expires is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.947Z"},{"name":"expires__gte","in":"query","description":"Filter results where expires is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.947Z"},{"name":"expires__lt","in":"query","description":"Filter results where expires is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.947Z"},{"name":"expires__lte","in":"query","description":"Filter results where expires is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.947Z"},{"name":"installedApplicationId","in":"path","description":"The installed application id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notValidAfter__gt","in":"query","description":"Filter results where not-valid-after is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"notValidAfter__gte","in":"query","description":"Filter results where not-valid-after is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"notValidAfter__lt","in":"query","description":"Filter results where not-valid-after is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"notValidAfter__lte","in":"query","description":"Filter results where not-valid-after is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"originCreatedAt__gt","in":"query","description":"Filter results where origin-created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"originCreatedAt__gte","in":"query","description":"Filter results where origin-created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"originCreatedAt__lt","in":"query","description":"Filter results where origin-created-at is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"originCreatedAt__lte","in":"query","description":"Filter results where origin-created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.947Z"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/installed-applications_tokens.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of Tokens for a specific OAuth 2.0 server application.","tags":["Installed Application Tokens"]}},"/v1/installed-applications/{installedApplicationId}/tokens/{tokenId}":{"get":{"summary":"Get an installed application token","operationId":"getInstalledApplicationToken","parameters":[{"name":"installedApplicationId","in":"path","description":"The installed application id path parameter","required":true,"schema":{"type":"string"}},{"name":"tokenId","in":"path","description":"The token id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/installed-applications_tokens.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens/{tokenId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens/{tokenId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens/{tokenId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific application Token by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Installed Application Tokens"]},"delete":{"summary":"Delete an installed application token","operationId":"deleteInstalledApplicationToken","parameters":[{"name":"deleteEntireSession","in":"query","description":"Set to `true` to delete all refresh tokens that have the same origin as the token being deleted","schema":{"type":"boolean"},"example":true},{"name":"installedApplicationId","in":"path","description":"The installed application id path parameter","required":true,"schema":{"type":"string"}},{"name":"tokenId","in":"path","description":"The token id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens/{tokenId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens/{tokenId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/installed-applications/{installedApplicationId}/tokens/{tokenId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes a specific Token from the Application.","tags":["Installed Application Tokens"]}},"/v1/ip-cameras":{"get":{"summary":"List all ip cameras","operationId":"getIpCameras","parameters":[{"name":"buildingId","in":"query","description":"ID of the building to which the IP camera is assigned","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"externalId","in":"query","description":"External ID of the IP camera in the camera vendor system","schema":{"type":"string"},"example":"39b8111b-d8fc-414d-a9e7-71155da04171"},{"name":"facilityId","in":"query","description":"The ID of the facility this IP Camera belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"ID of the floor to which the IP camera is assigned","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this IP Camera belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the camera is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list cameras whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"type":"string","format":"json"},"example":{"type":"Point","coordinates":[-89.50275,43.114705]}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"siteId","in":"query","description":"ID of the site to which the IP camera is assigned","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"vendorConfigId","in":"query","description":"ID of the IP camera vendor config","schema":{"type":"string","format":"uuid"}},{"name":"zoneId","in":"query","description":"ID of the zone to which the IP camera is assigned","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/ip-cameras.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["IP Cameras"]},"post":{"summary":"Create an ip camera","operationId":"createIpCamera","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ip-cameras.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-cameras.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field vendorConfigId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'floorId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'floorId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"floorId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\"}'\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["IP Cameras"]}},"/v1/ip-cameras/{ipCameraId}":{"get":{"summary":"Get an ip camera","operationId":"getIpCamera","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this IP Camera belongs","schema":{"type":"boolean"},"example":true},{"name":"ipCameraId","in":"path","description":"The ip camera id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-cameras.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras/{ipCameraId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras/{ipCameraId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras/{ipCameraId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["IP Cameras"]},"put":{"summary":"Update an ip camera","operationId":"updateIpCamera","parameters":[{"name":"ipCameraId","in":"path","description":"The ip camera id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ip-cameras.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-cameras.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field vendorConfigId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'floorId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras/{ipCameraId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras/{ipCameraId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'floorId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-cameras/{ipCameraId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"floorId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\"}'\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["IP Cameras"]}},"/v1/ip-speaker-jobs":{"get":{"summary":"List all ip speaker jobs","operationId":"getIpSpeakerJobs","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this speaker job belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this speaker job belongs","schema":{"type":"boolean"},"example":true},{"name":"includeJobData","in":"query","description":"Whether to include the job data in the response","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/ip-speaker-jobs.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all IP Speaker jobs. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources\nreturned.)","tags":["IP Speaker Jobs"]},"post":{"summary":"Create an ip speaker job","operationId":"createIpSpeakerJob","parameters":[{"name":"includeJobData","in":"query","description":"Whether to include the job data in the response","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ip-speaker-jobs.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speaker-jobs.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field macAddresses is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'action': 'VOLUME_ADJUSTMENT',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'macAddresses': [\n        'aabbccddeeff',\n        'ffeeddccbbaa'\n    ],\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'testDuration': 5,\n    'volumeAdjustment': 2,\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'action': 'VOLUME_ADJUSTMENT',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'macAddresses': [\n        'aabbccddeeff',\n        'ffeeddccbbaa'\n    ],\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'testDuration': 5,\n    'volumeAdjustment': 2,\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"action\": \"VOLUME_ADJUSTMENT\",\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"macAddresses\": [\n             \"aabbccddeeff\",\n             \"ffeeddccbbaa\"\n         ],\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"testDuration\": 5,\n         \"volumeAdjustment\": 2,\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"Creates a new IP Speaker job.","tags":["IP Speaker Jobs"]}},"/v1/ip-speaker-jobs/{ipSpeakerJobId}":{"get":{"summary":"Get an ip speaker job","operationId":"getIpSpeakerJob","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this speaker job belongs","schema":{"type":"boolean"},"example":true},{"name":"includeJobData","in":"query","description":"Whether to include the job data in the response","schema":{"type":"boolean"}},{"name":"ipSpeakerJobId","in":"path","description":"The ip speaker job id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speaker-jobs.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs/{ipSpeakerJobId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs/{ipSpeakerJobId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs/{ipSpeakerJobId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves an existing IP Speaker job by `id` for a given fusion server. Since this is not a list request, there is no pagination wrapper around the\nresult.","tags":["IP Speaker Jobs"]},"delete":{"summary":"Delete an ip speaker job","operationId":"deleteIpSpeakerJob","parameters":[{"name":"ipSpeakerJobId","in":"path","description":"The ip speaker job id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs/{ipSpeakerJobId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs/{ipSpeakerJobId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-jobs/{ipSpeakerJobId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Updates an existing IP Speaker job.","tags":["IP Speaker Jobs"]}},"/v1/ip-speaker-settings":{"get":{"summary":"List all ip speaker settings","operationId":"getIpSpeakerSettings","parameters":[],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speaker-settings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-settings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-settings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-settings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves your IP Speaker settings. Since this is not a list request, there is no pagination wrapper around the\nresult.","tags":["IP Speaker Settings"]},"put":{"summary":"Update an ip speaker setting","operationId":"updateIpSpeakerSetting","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ip-speaker-settings.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speaker-settings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field speakerAutoRegistration is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'idnAutoRegistration': false,\n    'idnDefaultVolume': 10,\n    'removeExpiredDesktopAfterDays': 90,\n    'speakerAutoRegistration': false,\n    'speakerCaptureKeepaliveInterval': 2,\n    'speakerDefaultVolume': 10,\n    'speakerRegistrationInterval': 300\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-settings\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-settings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'idnAutoRegistration': False,\n    'idnDefaultVolume': 10,\n    'removeExpiredDesktopAfterDays': 90,\n    'speakerAutoRegistration': False,\n    'speakerCaptureKeepaliveInterval': 2,\n    'speakerDefaultVolume': 10,\n    'speakerRegistrationInterval': 300\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-settings\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"idnAutoRegistration\": false,\n         \"idnDefaultVolume\": 10,\n         \"removeExpiredDesktopAfterDays\": 90,\n         \"speakerAutoRegistration\": false,\n         \"speakerCaptureKeepaliveInterval\": 2,\n         \"speakerDefaultVolume\": 10,\n         \"speakerRegistrationInterval\": 300}'\n"}],"description":"Updates existing IP Speaker settings.","tags":["IP Speaker Settings"]}},"/v1/ip-speaker-sip-parameters":{"get":{"summary":"List all ip speaker sip parameters","operationId":"getIpSpeakerSipParameters","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/ip-speaker-sip-parameters.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all IP Speaker SIP parameters across fusion servers. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources\nreturned.)","tags":["IP Speaker SIP Parameters"]}},"/v1/ip-speaker-sip-parameters/{ipSpeakerSipParameterId}":{"get":{"summary":"Get an ip speaker sip parameter","operationId":"getIpSpeakerSipParameter","parameters":[{"name":"ipSpeakerSipParameterId","in":"path","description":"The ip speaker sip parameter id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speaker-sip-parameters.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters/{ipSpeakerSipParameterId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters/{ipSpeakerSipParameterId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters/{ipSpeakerSipParameterId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a IP Speaker SIP parameters by `id` for a given fusion server. Since this is not a list request, there is no pagination wrapper around the\nresult.","tags":["IP Speaker SIP Parameters"]},"put":{"summary":"Update an ip speaker sip parameter","operationId":"updateIpSpeakerSipParameter","parameters":[{"name":"ipSpeakerSipParameterId","in":"path","description":"The ip speaker sip parameter id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ip-speaker-sip-parameters.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speaker-sip-parameters.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field endpointId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'callRingTime': 5,\n    'endpointId': 'dd1daa67-c8e9-11f1-9434-43d81ab6a9e3',\n    'lineSideAuthId': 'my.auth.id',\n    'lineSideAuthPassword': 'my.auth.password',\n    'lineSideOutboundProxy': '10.2.42.1',\n    'lineSideSipDomain': 'domain.lan',\n    'lineSideSipIdentity': 'my.user',\n    'optionsPingInterval': 30,\n    'registrationInterval': 300,\n    'telephonyProviders': '10.1.2.12,10.2.3.146',\n    'transportProtocol': 'TCP'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters/{ipSpeakerSipParameterId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters/{ipSpeakerSipParameterId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'callRingTime': 5,\n    'endpointId': 'dd1daa68-c8e9-11f1-9434-638b13e874da',\n    'lineSideAuthId': 'my.auth.id',\n    'lineSideAuthPassword': 'my.auth.password',\n    'lineSideOutboundProxy': '10.2.42.1',\n    'lineSideSipDomain': 'domain.lan',\n    'lineSideSipIdentity': 'my.user',\n    'optionsPingInterval': 30,\n    'registrationInterval': 300,\n    'telephonyProviders': '10.1.2.12,10.2.3.146',\n    'transportProtocol': 'TCP'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speaker-sip-parameters/{ipSpeakerSipParameterId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"callRingTime\": 5,\n         \"endpointId\": \"dd1dd179-c8e9-11f1-9434-811236c73a14\",\n         \"lineSideAuthId\": \"my.auth.id\",\n         \"lineSideAuthPassword\": \"my.auth.password\",\n         \"lineSideOutboundProxy\": \"10.2.42.1\",\n         \"lineSideSipDomain\": \"domain.lan\",\n         \"lineSideSipIdentity\": \"my.user\",\n         \"optionsPingInterval\": 30,\n         \"registrationInterval\": 300,\n         \"telephonyProviders\": \"10.1.2.12,10.2.3.146\",\n         \"transportProtocol\": \"TCP\"}'\n"}],"description":"Updates existing IP Speaker SIP parameters for a given fusion server.","tags":["IP Speaker SIP Parameters"]}},"/v1/ip-speakers":{"get":{"summary":"List all ip speakers","operationId":"getIpSpeakers","parameters":[{"name":"buildingId","in":"query","description":"The ID of the Building the IP Speaker is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"description","in":"query","description":"The description associated with the speaker","schema":{"type":"string","maximum":200},"example":"Located at near the Main Lobby by the Front Desk."},{"name":"deviceProduct","in":"query","description":"The device's product name","schema":{"type":"string"},"example":"Java-http-client"},{"name":"deviceVersion","in":"query","description":"The device's version","schema":{"type":"string"},"example":"1.0.1"},{"name":"dialCode","in":"query","description":"The speaker's dial code (numeric shortcut for optional dial interface. May only contain digits (0-9), asterisks (*) and pound signs (#))","schema":{"type":"string","maximum":11}},{"name":"endpointId","in":"query","description":"Filters for speakers registered to a given endpoint","schema":{"type":"string","format":"uuid"}},{"name":"facilityId","in":"query","description":"The ID of the facility this IP Speaker belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"The ID of the Floor the IP Speaker is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"hasDisplay","in":"query","description":"Whether speaker has a display","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this IP Speaker belongs","schema":{"type":"boolean"},"example":true},{"name":"includeRegistrationData","in":"query","description":"Whether to include the most recent registration data","schema":{"type":"boolean"}},{"name":"isDesktopNotifier","in":"query","description":"Whether to only show desktop notifier devices","schema":{"type":"boolean"}},{"name":"isRegistered","in":"query","description":"Whether the speaker is currently registered","schema":{"type":"boolean"}},{"name":"isRegisteredSip","in":"query","description":"Whether the SIP speaker is currently registered","schema":{"type":"string","enum":["true","false","null"]}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"macAddress","in":"query","description":"The MAC address which identifies the speaker","schema":{"type":"string","maximum":10000},"example":"aabbccddeeff"},{"name":"name","in":"query","description":"The brief name associated with the speaker","schema":{"type":"string","maximum":50},"example":"Main Lobby Speaker"},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the IP Speaker is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list IP Speakers whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"type":"string","format":"json"},"example":{"type":"Point","coordinates":[-89.50275,43.114705]}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"scrollSpeedAdjustment","in":"query","description":"The scroll speed adjustment applied when a message is sent to this speaker","schema":{"type":"integer"}},{"name":"scrollSpeedAdjustment__gt","in":"query","description":"Filter results where scroll-speed-adjustment is greater than  the supplied value","schema":{"type":"integer"}},{"name":"scrollSpeedAdjustment__gte","in":"query","description":"Filter results where scroll-speed-adjustment is greater than or equal to the supplied value","schema":{"type":"integer"}},{"name":"scrollSpeedAdjustment__lt","in":"query","description":"Filter results where scroll-speed-adjustment is less than the supplied value","schema":{"type":"integer"}},{"name":"scrollSpeedAdjustment__lte","in":"query","description":"Filter results where scroll-speed-adjustment is less than or equal to the supplied value","schema":{"type":"integer"}},{"name":"siteId","in":"query","description":"The ID of the Site the IP Speaker is assigned to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"sort","in":"query","description":"Sorts IP Speakers list by name","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"volume","in":"query","description":"The volume level at which audio should be played (default is 10)","schema":{"type":"integer"}},{"name":"volume__gt","in":"query","description":"Filter results where volume is greater than  the supplied value","schema":{"type":"integer"}},{"name":"volume__gte","in":"query","description":"Filter results where volume is greater than or equal to the supplied value","schema":{"type":"integer"}},{"name":"volume__lt","in":"query","description":"Filter results where volume is less than the supplied value","schema":{"type":"integer"}},{"name":"volume__lte","in":"query","description":"Filter results where volume is less than or equal to the supplied value","schema":{"type":"integer"}},{"name":"zoneId","in":"query","description":"The ID of the Zone the IP Speaker is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/ip-speakers.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all speakers. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources\nreturned.)","tags":["IP Speakers"]},"post":{"summary":"Create an ip speaker","operationId":"createIpSpeaker","parameters":[{"name":"includeRegistrationData","in":"query","description":"Whether to include the most recent registration data","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ip-speakers.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speakers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'description': 'Located at near the Main Lobby by the Front Desk.',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'macAddress': 'aabbccddeeff',\n    'name': 'Main Lobby Speaker',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'sipIntercomEnabled': false,\n    'sipSpeakerAutoAnswer': false,\n    'sipSpeakerDn': '1234',\n    'sipSpeakerDnToDial': '4321',\n    'sipSpeakerMicVolume': 10,\n    'sipSpeakerRingVolume': 10,\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'description': 'Located at near the Main Lobby by the Front Desk.',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'macAddress': 'aabbccddeeff',\n    'name': 'Main Lobby Speaker',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'sipIntercomEnabled': False,\n    'sipSpeakerAutoAnswer': False,\n    'sipSpeakerDn': '1234',\n    'sipSpeakerDnToDial': '4321',\n    'sipSpeakerMicVolume': 10,\n    'sipSpeakerRingVolume': 10,\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"description\": \"Located at near the Main Lobby by the Front Desk.\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"macAddress\": \"aabbccddeeff\",\n         \"name\": \"Main Lobby Speaker\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"sipIntercomEnabled\": false,\n         \"sipSpeakerAutoAnswer\": false,\n         \"sipSpeakerDn\": \"1234\",\n         \"sipSpeakerDnToDial\": \"4321\",\n         \"sipSpeakerMicVolume\": 10,\n         \"sipSpeakerRingVolume\": 10,\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"Creates a new speaker.","tags":["IP Speakers"]}},"/v1/ip-speakers/{ipSpeakerId}":{"get":{"summary":"Get an ip speaker","operationId":"getIpSpeaker","parameters":[{"name":"endpointId","in":"query","description":"Filters for speakers registered to a given endpoint","schema":{"type":"string","format":"uuid"}},{"name":"hasDisplay","in":"query","description":"Whether speaker has a display","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this IP Speaker belongs","schema":{"type":"boolean"},"example":true},{"name":"includeRegistrationData","in":"query","description":"Whether to include the most recent registration data","schema":{"type":"boolean"}},{"name":"ipSpeakerId","in":"path","description":"The ip speaker id path parameter","required":true,"schema":{"type":"string"}},{"name":"isDesktopNotifier","in":"query","description":"Whether to only show desktop notifier devices","schema":{"type":"boolean"}},{"name":"isRegistered","in":"query","description":"Whether the speaker is currently registered","schema":{"type":"boolean"}},{"name":"isRegisteredSip","in":"query","description":"Whether the SIP speaker is currently registered","schema":{"type":"string","enum":["true","false","null"]}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speakers.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single speaker by `id`. Since this is not a list request, there is no pagination wrapper around the\nresult.","tags":["IP Speakers"]},"put":{"summary":"Update an ip speaker","operationId":"updateIpSpeaker","parameters":[{"name":"includeRegistrationData","in":"query","description":"Whether to include the most recent registration data","schema":{"type":"boolean"}},{"name":"ipSpeakerId","in":"path","description":"The ip speaker id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ip-speakers.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ip-speakers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'description': 'Located at near the Main Lobby by the Front Desk.',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'macAddress': 'aabbccddeeff',\n    'name': 'Main Lobby Speaker',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'sipIntercomEnabled': false,\n    'sipSpeakerAutoAnswer': false,\n    'sipSpeakerDn': '1234',\n    'sipSpeakerDnToDial': '4321',\n    'sipSpeakerMicVolume': 10,\n    'sipSpeakerRingVolume': 10,\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'description': 'Located at near the Main Lobby by the Front Desk.',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'macAddress': 'aabbccddeeff',\n    'name': 'Main Lobby Speaker',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'sipIntercomEnabled': False,\n    'sipSpeakerAutoAnswer': False,\n    'sipSpeakerDn': '1234',\n    'sipSpeakerDnToDial': '4321',\n    'sipSpeakerMicVolume': 10,\n    'sipSpeakerRingVolume': 10,\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"description\": \"Located at near the Main Lobby by the Front Desk.\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"macAddress\": \"aabbccddeeff\",\n         \"name\": \"Main Lobby Speaker\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"sipIntercomEnabled\": false,\n         \"sipSpeakerAutoAnswer\": false,\n         \"sipSpeakerDn\": \"1234\",\n         \"sipSpeakerDnToDial\": \"4321\",\n         \"sipSpeakerMicVolume\": 10,\n         \"sipSpeakerRingVolume\": 10,\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"Updates an existing speaker.","tags":["IP Speakers"]},"delete":{"summary":"Delete an ip speaker","operationId":"deleteIpSpeaker","parameters":[{"name":"ipSpeakerId","in":"path","description":"The ip speaker id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ip-speakers/{ipSpeakerId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["IP Speakers"]}},"/v1/license-acceptances":{"get":{"summary":"List all license acceptances","operationId":"getLicenseAcceptances","parameters":[{"name":"licenseType","in":"query","description":"Type of license that was accepted.","schema":{"type":"string","enum":["rapid-sos"],"example":"rapid-sos"},"example":"rapid-sos"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/license-acceptances.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all license acceptances.","tags":["License Acceptances"]},"post":{"summary":"Accept a license","operationId":"createLicenseAcceptance","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/license-acceptances.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/license-acceptances.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field licenseType is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'licenseType': 'rapid-sos'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'licenseType': 'rapid-sos'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"licenseType\": \"rapid-sos\"}'\n"}],"description":"Record that a license has been accepted.","tags":["License Acceptances"]}},"/v1/license-acceptances/{licenseAcceptanceId}":{"get":{"summary":"Get a license acceptance","operationId":"getLicenseAcceptance","parameters":[{"name":"licenseAcceptanceId","in":"path","description":"The license acceptance id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/license-acceptances.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances/{licenseAcceptanceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances/{licenseAcceptanceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/license-acceptances/{licenseAcceptanceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single license acceptance by `id`.\nSince this is not a list request, there is no pagination wrapper around the result.","tags":["License Acceptances"]}},"/v1/load-definitions":{"get":{"summary":"List all load definitions","operationId":"getLoadDefinitions","parameters":[{"name":"includedTypes","in":"query","description":"When supplied, A comma-delimited list that specifies the load types to be included in the results","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"providerIdpId","in":"query","description":"ID of the identity provider to use for logging in the users managed by the user loader. Currently ignored, reserved for future use.","schema":{"type":"string","format":"uuid"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on `name` and/or `applicationId`","schema":{"type":"string"}},{"name":"sisIncludeServiceData","in":"query","description":"Whether to include SIS service data regarding sync timing.","schema":{"type":"boolean"},"example":true},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/load-definitions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all load definitions. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups)\nassociated with the request, through the user attached to the access\ntoken, may limit the resources returned). Generally only\nadministrative users will be able to manipulate load definitions.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Load Definitions"]},"post":{"summary":"Create a load definition","operationId":"createLoadDefinition","parameters":[{"name":"sisIncludeServiceData","in":"query","description":"Whether to include SIS service data regarding sync timing.","schema":{"type":"boolean"},"example":true}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isYieldingUsers': true,\n    'licenseNewGroups': true,\n    'name': 'Student Import',\n    'sisAuthUrl': 'https://example.com/sis/auth',\n    'sisBaseUrl': 'https://example.com/sis',\n    'sisFullSync': true,\n    'sisIncludeUserTypes': {\n        'students': true\n    },\n    'sisVerboseLogging': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isYieldingUsers': True,\n    'licenseNewGroups': True,\n    'name': 'Student Import',\n    'sisAuthUrl': 'https://example.com/sis/auth',\n    'sisBaseUrl': 'https://example.com/sis',\n    'sisFullSync': True,\n    'sisIncludeUserTypes': {\n        'students': True\n    },\n    'sisVerboseLogging': True\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isYieldingUsers\": true,\n         \"licenseNewGroups\": true,\n         \"name\": \"Student Import\",\n         \"sisAuthUrl\": \"https://example.com/sis/auth\",\n         \"sisBaseUrl\": \"https://example.com/sis\",\n         \"sisFullSync\": true,\n         \"sisIncludeUserTypes\": {\n             \"students\": true\n         },\n         \"sisVerboseLogging\": true}'\n"}],"description":"Creates a new load definition. Once the load definition is created,\n[Security Group Mappings](#tag--Load-Definition-Security-Group-Mappings), [Distribution List Mappings](#tag--Load-Definition-Distribution-List-Mappings), and [Facility Mappings](#tag--Load-Definition-Facility-Mappings) can be assigned to it, and then it can be\nused to bulk-load user accounts by posting a [Load Request](#tag--Load-Requests) referencing it, with the user data in a simple\n[CSV text\nformat](https://documentation.singlewire.com/mobile/InformaCast_Mobile/Using/Multiple_Users/Load_Users_Through_a_CSV_File.htm).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Load Definitions"]}},"/v1/load-definitions/{loadDefinitionId}":{"get":{"summary":"Get a load definition","operationId":"getLoadDefinition","parameters":[{"name":"includedTypes","in":"query","description":"When supplied, A comma-delimited list that specifies the load types to be included in the results","schema":{"type":"string"}},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"sisIncludeServiceData","in":"query","description":"Whether to include SIS service data regarding sync timing.","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single load definition by `id`. Since this is not a list\nrequest, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Load Definitions"]},"put":{"summary":"Update a load definition","operationId":"updateLoadDefinition","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"sisIncludeServiceData","in":"query","description":"Whether to include SIS service data regarding sync timing.","schema":{"type":"boolean"},"example":true}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field id is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isYieldingUsers': true,\n    'licenseNewGroups': true,\n    'name': 'Student Import',\n    'sisAuthUrl': 'https://example.com/sis/auth',\n    'sisBaseUrl': 'https://example.com/sis',\n    'sisFullSync': true,\n    'sisVerboseLogging': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isYieldingUsers': True,\n    'licenseNewGroups': True,\n    'name': 'Student Import',\n    'sisAuthUrl': 'https://example.com/sis/auth',\n    'sisBaseUrl': 'https://example.com/sis',\n    'sisFullSync': True,\n    'sisVerboseLogging': True\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isYieldingUsers\": true,\n         \"licenseNewGroups\": true,\n         \"name\": \"Student Import\",\n         \"sisAuthUrl\": \"https://example.com/sis/auth\",\n         \"sisBaseUrl\": \"https://example.com/sis\",\n         \"sisFullSync\": true,\n         \"sisVerboseLogging\": true}'\n"}],"description":"Changes an existing load definition’s `name` or one of its policy entries.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Load Definitions"]},"delete":{"summary":"Delete a load definition","operationId":"deleteLoadDefinition","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Load Definitions"]}},"/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings":{"get":{"summary":"List all load definition distribution list mappings","operationId":"getLoadDefinitionDistributionListMappings","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on `name` and/or `tagName`","schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"tagName","in":"query","description":"Text label (containing no whitespace) which, when found in the `tags` field of a line in the CSV data being processed in a load request, will cause the user to be assigned to this distribution list","schema":{"type":"string","maximum":140},"example":"Everyone"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/load-definitions_distribution-list-mappings.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all distribution list mappings associated with a load\ndefinition. (The [Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through\nthe user attached to the access token, may limit the resources\nreturned). Generally only administrative users will be able to\nmanipulate load definitions.","tags":["Load Definition Distribution List Mappings"]},"post":{"summary":"Create a load definition distribution list mapping","operationId":"createLoadDefinitionDistributionListMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_distribution-list-mappings.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_distribution-list-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'distributionListId': '18d3d9c3-bd80-4000-8a29-6af244425201',\n    'tagName': 'Everyone'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'distributionListId': '18d3d9c3-bd80-4000-8a29-6af244425201',\n    'tagName': 'Everyone'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"distributionListId\": \"18d3d9c3-bd80-4000-8a29-6af244425201\",\n         \"tagName\": \"Everyone\"}'\n"}],"description":"Adds a distribution list mapping to a load definition.","tags":["Load Definition Distribution List Mappings"]}},"/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}":{"get":{"summary":"Get a load definition distribution list mapping","operationId":"getLoadDefinitionDistributionListMapping","parameters":[{"name":"distributionListMappingId","in":"path","description":"The distribution list mapping id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_distribution-list-mappings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single distribution list mapping by its `id`. Since this\nis not a list request, there is no pagination wrapper around the\nresult.","tags":["Load Definition Distribution List Mappings"]},"put":{"summary":"Update a load definition distribution list mapping","operationId":"updateLoadDefinitionDistributionListMapping","parameters":[{"name":"distributionListMappingId","in":"path","description":"The distribution list mapping id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_distribution-list-mappings.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_distribution-list-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'distributionListId': '18d3d9c3-bd80-4000-8a29-6af244425201',\n    'tagName': 'Everyone'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'distributionListId': '18d3d9c3-bd80-4000-8a29-6af244425201',\n    'tagName': 'Everyone'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"distributionListId\": \"18d3d9c3-bd80-4000-8a29-6af244425201\",\n         \"tagName\": \"Everyone\"}'\n"}],"description":"Change the `distributionListId` and/or `tagName` of an existing\ndistribution list mapping.","tags":["Load Definition Distribution List Mappings"]},"delete":{"summary":"Delete a load definition distribution list mapping","operationId":"deleteLoadDefinitionDistributionListMapping","parameters":[{"name":"distributionListMappingId","in":"path","description":"The distribution list mapping id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/distribution-list-mappings/{distributionListMappingId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Load Definition Distribution List Mappings"]}},"/v1/load-definitions/{loadDefinitionId}/facility-mappings":{"get":{"summary":"List all load definition facility mappings","operationId":"getLoadDefinitionFacilityMappings","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/load-definitions_facility-mappings.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all facility mappings associated with a load definition.\n(The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user\nattached to the access token, may limit the resources returned).\nGenerally only administrative users will be able to manipulate load\ndefinitions.","tags":["Load Definition Facility Mappings"]},"post":{"summary":"Create a load definition facility mapping","operationId":"createLoadDefinitionFacilityMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_facility-mappings.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_facility-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'facilityId': '69dab71b-12b2-11e8-bfe3-41154f2b6534'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'facilityId': '69dab71b-12b2-11e8-bfe3-41154f2b6534'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"facilityId\": \"69dab71b-12b2-11e8-bfe3-41154f2b6534\"}'\n"}],"description":"Adds a facility mapping to a load definition.","tags":["Load Definition Facility Mappings"]}},"/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}":{"get":{"summary":"Get a load definition facility mapping","operationId":"getLoadDefinitionFacilityMapping","parameters":[{"name":"facilityMappingId","in":"path","description":"The facility mapping id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_facility-mappings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single facility mapping by its `id`. Since this\nis not a list request, there is no pagination wrapper around the\nresult.","tags":["Load Definition Facility Mappings"]},"put":{"summary":"Update a load definition facility mapping","operationId":"updateLoadDefinitionFacilityMapping","parameters":[{"name":"facilityMappingId","in":"path","description":"The facility mapping id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_facility-mappings.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_facility-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'facilityId': '69dab71b-12b2-11e8-bfe3-41154f2b6534'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'facilityId': '69dab71b-12b2-11e8-bfe3-41154f2b6534'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"facilityId\": \"69dab71b-12b2-11e8-bfe3-41154f2b6534\"}'\n"}],"description":"Change the `facilityId` and/or `tagName` of an existing facility mapping.","tags":["Load Definition Facility Mappings"]},"delete":{"summary":"Delete a load definition facility mapping","operationId":"deleteLoadDefinitionFacilityMapping","parameters":[{"name":"facilityMappingId","in":"path","description":"The facility mapping id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/facility-mappings/{facilityMappingId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Load Definition Facility Mappings"]}},"/v1/load-definitions/{loadDefinitionId}/load-requests":{"get":{"summary":"List all Load Requests","operationId":"getLoadDefinitionLoadRequests","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on `loadState`","schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_load-definitions_load-requests.base"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all load requests that have been submitted for a\nparticular load definition. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the\nrequest, through the user attached to the access token, may limit the\nresources returned. Generally only administrative users will be able\nto manipulate load requests.)","tags":["Load Requests"]},"post":{"summary":"Batch Load Users","operationId":"createLoadDefinitionLoadRequest","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_load-requests.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_load-definitions_load-requests.base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field data is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"To kick off the process of batch loading users into the environment, a\n`POST` request is made to the Load Requests resource, and the CSV or\nExcel spreadsheet data describing the users to be loaded and their\nsecurity group and distribution list tags is submitted in the post\ndata. The load request is queued, and will be processed when the\nserver has an opportunity. The current processing stage is reflected\nby the `loadState` attribute in the load request response.","tags":["Load Requests"]}},"/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}":{"get":{"summary":"Get a Load Request","operationId":"getLoadDefinitionLoadRequest","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadRequestId","in":"path","description":"The load request id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_load-definitions_load-requests.base"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single load request by its `id`. Since this is not a list\nrequest, there is no pagination wrapper around the result.","tags":["Load Requests"]}},"/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/content":{"get":{"summary":"Get Load Request Content","operationId":"getLoadDefinitionLoadRequestContents","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadRequestId","in":"path","description":"The load request id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/load-definitions_load-requests_content.get-response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/content\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/content\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/content\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Returns the text content of the CSV associated with this load request.","tags":["Load Requests"]}},"/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/log":{"get":{"summary":"Get Load Request Logs","operationId":"getLoadDefinitionLoadRequestLogs","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"loadRequestId","in":"path","description":"The load request id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/load-definitions_load-requests_log.get-response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/log\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/log\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/load-requests/{loadRequestId}/log\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Returns the text content of the logs associated with this load request.","tags":["Load Requests"]}},"/v1/load-definitions/{loadDefinitionId}/remove-unlicensed-users":{"post":{"summary":"Remove unlicensed users from a load definition","operationId":"createLoadDefinitionRemoveUnlicensedUser","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_remove-unlicensed-users.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_load-definitions_load-requests.base"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/remove-unlicensed-users\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/remove-unlicensed-users\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/remove-unlicensed-users\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"Removes any unlicensed users managed by a [Load Definition](#tag--Load-Definitions).\nThe results of this operation will then be recorded as a [Load Request](#tag--Load-Requests).","tags":["Load Definitions"]}},"/v1/load-definitions/{loadDefinitionId}/security-group-mappings":{"get":{"summary":"List all load definition security group mappings","operationId":"getLoadDefinitionSecurityGroupMappings","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on `name` and/or `tagName`","schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"tagName","in":"query","description":"A text label (containing no whitespace) which, when found in `the` tags field of a line in the CSV data being processed in a Load Request, will cause the user to be assigned to this security group","schema":{"type":"string","maximum":140},"example":"BodyGuards"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/load-definitions_security-group-mappings.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all security group mappings associated with a load\ndefinition. (The [Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through\nthe user attached to the access token, may limit the resources\nreturned). Generally only administrative users will be able to\nmanipulate load definitions.","tags":["Load Definition Security Group Mappings"]},"post":{"summary":"Create a load definition security group mapping","operationId":"createLoadDefinitionSecurityGroupMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_security-group-mappings.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_security-group-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'securityGroupId': '92ba968d-a055-11ee-8ca7-759f162a262e',\n    'tagName': 'BodyGuards'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'securityGroupId': '92ba968d-a055-11ee-8ca7-759f162a262e',\n    'tagName': 'BodyGuards'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"securityGroupId\": \"92ba968d-a055-11ee-8ca7-759f162a262e\",\n         \"tagName\": \"BodyGuards\"}'\n"}],"description":"Adds a security group mapping to a load definition.","tags":["Load Definition Security Group Mappings"]}},"/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}":{"get":{"summary":"Get a load definition security group mapping","operationId":"getLoadDefinitionSecurityGroupMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupMappingId","in":"path","description":"The security group mapping id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_security-group-mappings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single security group mapping by its `id`. Since this\nis not a list request, there is no pagination wrapper around the\nresult.","tags":["Load Definition Security Group Mappings"]},"put":{"summary":"Update a load definition security group mapping","operationId":"updateLoadDefinitionSecurityGroupMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupMappingId","in":"path","description":"The security group mapping id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_security-group-mappings.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_security-group-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'securityGroupId': '92ba968d-a055-11ee-8ca7-759f162a262e',\n    'tagName': 'BodyGuards'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'securityGroupId': '92ba968d-a055-11ee-8ca7-759f162a262e',\n    'tagName': 'BodyGuards'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"securityGroupId\": \"92ba968d-a055-11ee-8ca7-759f162a262e\",\n         \"tagName\": \"BodyGuards\"}'\n"}],"description":"Change the `securityGroupId` and/or `tagName` of an existing\nsecurity group mapping.","tags":["Load Definition Security Group Mappings"]},"delete":{"summary":"Delete a load definition security group mapping","operationId":"deleteLoadDefinitionSecurityGroupMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupMappingId","in":"path","description":"The security group mapping id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/security-group-mappings/{securityGroupMappingId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Load Definition Security Group Mappings"]}},"/v1/load-definitions/{loadDefinitionId}/template":{"get":{"summary":"Get a Load Definition Excel Template","operationId":"getLoadDefinitionTemplates","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/load-definitions_template.get-response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/template\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/template\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/template\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Generates and retrieves the Excel spreadsheet template corresponding\nto the specified [Load Definition](#tag--Load-Definitions).\nThis can then be populated and uploaded as a load request.","tags":["Load Definitions"]}},"/v1/load-definitions/{loadDefinitionId}/user-type-mappings":{"get":{"summary":"List all load definition user type mappings","operationId":"getLoadDefinitionUserTypeMappings","parameters":[{"name":"includeTypes","in":"query","description":"When supplied, A comma-delimited list that specifies the user tag types to be included in the results.","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true,"maximum":1024},"example":["regular"]},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on `user-type` or `tagName`","schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userType","in":"query","description":"User type to assign to the user","schema":{"type":"string","enum":["regular","receiver","rostered"]}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/load-definitions_user-type-mappings.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all user mappings associated with a load definition.\n(The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user\nattached to the access token, may limit the resources returned).\nGenerally only administrative users will be able to manipulate load\ndefinitions.","tags":["Load Definition User Type Mappings"]},"post":{"summary":"Create a load definition user type mapping","operationId":"createLoadDefinitionUserTypeMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_user-type-mappings.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_user-type-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'includeTypes': [\n        'regular'\n    ],\n    'tagName': 'students'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'includeTypes': [\n        'regular'\n    ],\n    'tagName': 'students'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"includeTypes\": [\n             \"regular\"\n         ],\n         \"tagName\": \"students\"}'\n"}],"description":"Adds a user type mapping to a load definition. Note: the default user\ntype is `regular`, so it is only necessary to define user type\nmappings if you are making use of the `rostered` user type.","tags":["Load Definition User Type Mappings"]}},"/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}":{"get":{"summary":"Get a load definition user type mapping","operationId":"getLoadDefinitionUserTypeMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"userTypeMappingId","in":"path","description":"The user type mapping id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_user-type-mappings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single user type mapping by its `id`. Since this\nis not a list request, there is no pagination wrapper around the\nresult.","tags":["Load Definition User Type Mappings"]},"put":{"summary":"Update a load definition user type mapping","operationId":"updateLoadDefinitionUserTypeMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"userTypeMappingId","in":"path","description":"The user type mapping id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/load-definitions_user-type-mappings.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/load-definitions_user-type-mappings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field tagName is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'includeTypes': [\n        'regular'\n    ],\n    'tagName': 'students'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'includeTypes': [\n        'regular'\n    ],\n    'tagName': 'students'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"includeTypes\": [\n             \"regular\"\n         ],\n         \"tagName\": \"students\"}'\n"}],"description":"Change the `userType` and/or `tagName` of an existing\nuser type mapping.","tags":["Load Definition User Type Mappings"]},"delete":{"summary":"Delete a load definition user type mapping","operationId":"deleteLoadDefinitionUserTypeMapping","parameters":[{"name":"loadDefinitionId","in":"path","description":"The load definition id path parameter","required":true,"schema":{"type":"string"}},{"name":"userTypeMappingId","in":"path","description":"The user type mapping id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/load-definitions/{loadDefinitionId}/user-type-mappings/{userTypeMappingId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Load Definition User Type Mappings"]}},"/v1/message-templates":{"get":{"summary":"List all message templates","operationId":"getMessageTemplates","parameters":[{"name":"confirmationRequestId","in":"query","description":"The `id` of the attached Confirmation Request (this is what is actually stored; the expanded details about the Confirmation Request are returned as a convenience, to save clients from having to issue a separate request to look them up)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"string","format":"uuid"}},{"name":"facilityId","in":"query","description":"The ID of the facility this message template belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"followUp","in":"query","description":"Denotes whether this template is usable for a follow-up: if set to `true`, this template can be used as the `messageTemplateId` when sending a new notification based on an existing notification in the notification history. If set to `false`, attempting to use this template in the same manner will result in an error. Message templates that support a follow-up are subject to different validation rules (i.e. all recipient fields can be set non-customizable in addition to specifying no recipients when saving the template)","schema":{"type":"boolean"}},{"name":"fusionEnabled","in":"query","description":"Show only message templates whose associated Notification Profile Settings for Fusion are enabled","schema":{"type":"boolean"}},{"name":"hasAudio","in":"query","description":"Filter list results by whether or not audio is attached","schema":{"type":"boolean"}},{"name":"hasConfirmationRequest","in":"query","description":"Filter list results by whether or not a confirmation request is attached","schema":{"type":"boolean"}},{"name":"hasImage","in":"query","description":"Filter list results by whether or not an image is attached","schema":{"type":"boolean"}},{"name":"hasIncidentPlan","in":"query","description":"Filter list results by whether or not an incident plan is attached","schema":{"type":"boolean"}},{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeConfirmationRequest","in":"query","description":"Include an embedded copy of the confirmation request in the response","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this message template belongs","schema":{"type":"boolean"},"example":true},{"name":"includeMessageTemplateCancellationIds","in":"query","description":"Include the list of cancellation ids for the message template in the response","schema":{"type":"boolean"}},{"name":"includeNotificationProfile","in":"query","description":"Include an embedded copy of the notification profile in the response","schema":{"type":"boolean"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"inferredMessageType","in":"query","description":"The inferred type of the fusion message associated with this template","schema":{"type":"string"},"example":"Text and Pre-Recorded Audio"},{"name":"isShared","in":"query","description":"Denotes whether or not this message template is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the message template, up to 140 characters long","schema":{"type":"string","maximum":140},"example":"Intruder Alert"},{"name":"notificationProfileId","in":"query","description":"The `id` of the Notification Profile used to configure the notification; omitting this value will default it to the default Notification Profile","schema":{"type":"string","format":"uuid"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on message template names, subjects, bodies, `inferredMessageType`, `followUp`, and `userIdsCustomizable`","schema":{"type":"string"},"example":"safe"},{"name":"sort","in":"query","description":"Sorts templates by name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"ttsType","in":"query","description":"Controls which attributes are transformed into speech audio, and how","schema":{"type":"string","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"example":"subject-and-body"},"example":"subject-and-body"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_message-templates.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all available message templates. (The\n[Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user\nattached to the access token, may limit the resources returned.\nControlling access to message templates allows administrators to\ndecide which users can send what content.)","tags":["Message Templates"]},"post":{"summary":"Create a message template","operationId":"createMessageTemplate","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeConfirmationRequest","in":"query","description":"Include an embedded copy of the confirmation request in the response","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeMessageTemplateCancellationIds","in":"query","description":"Include the list of cancellation ids for the message template in the response","schema":{"type":"boolean"}},{"name":"includeNotificationProfile","in":"query","description":"Include an embedded copy of the notification profile in the response","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/message-templates.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_message-templates.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'areaOfInterestIdsDisplay': 'show',\n    'body': 'Please stay alert for updates as we track the intruder.',\n    'cancelNotificationsType': 'none',\n    'collaborationGroupIds': [\n        '18e34a8a-6b10-4000-889c-dd02325e5f01'\n    ],\n    'collaborationGroupIdsDisplay': 'show',\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'deviceGroupIdsDisplay': 'show',\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'distributionListIdsDisplay': 'show',\n    'imageAltText': 'Green checkmark indicating completion',\n    'incidentPlanId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'incidentPlanIdCustomizable': true,\n    'incidentPlanIdDisplay': 'show',\n    'isShared': true,\n    'name': 'Intruder Alert',\n    'priority': 'critical',\n    'subject': 'An intruder has been spotted!',\n    'ttsSpeed': 'normal',\n    'ttsType': 'subject-and-body',\n    'ttsVoiceId': '751de14c-841a-11ea-a32f-2527bd7fe7a8',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ],\n    'userIdsDisplay': 'show'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'areaOfInterestIdsDisplay': 'show',\n    'body': 'Please stay alert for updates as we track the intruder.',\n    'cancelNotificationsType': 'none',\n    'collaborationGroupIds': [\n        '18e34a8a-6b10-4000-889c-dd02325e5f01'\n    ],\n    'collaborationGroupIdsDisplay': 'show',\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'deviceGroupIdsDisplay': 'show',\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'distributionListIdsDisplay': 'show',\n    'imageAltText': 'Green checkmark indicating completion',\n    'incidentPlanId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'incidentPlanIdCustomizable': True,\n    'incidentPlanIdDisplay': 'show',\n    'isShared': True,\n    'name': 'Intruder Alert',\n    'priority': 'critical',\n    'subject': 'An intruder has been spotted!',\n    'ttsSpeed': 'normal',\n    'ttsType': 'subject-and-body',\n    'ttsVoiceId': '751de14c-841a-11ea-a32f-2527bd7fe7a8',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ],\n    'userIdsDisplay': 'show'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"areaOfInterestIds\": [\n             \"8145ebd1-7a8b-11ee-bc97-098b09a637c2\"\n         ],\n         \"areaOfInterestIdsDisplay\": \"show\",\n         \"body\": \"Please stay alert for updates as we track the intruder.\",\n         \"cancelNotificationsType\": \"none\",\n         \"collaborationGroupIds\": [\n             \"18e34a8a-6b10-4000-889c-dd02325e5f01\"\n         ],\n         \"collaborationGroupIdsDisplay\": \"show\",\n         \"deviceGroupIds\": [\n             \"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"\n         ],\n         \"deviceGroupIdsDisplay\": \"show\",\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"distributionListIdsDisplay\": \"show\",\n         \"imageAltText\": \"Green checkmark indicating completion\",\n         \"incidentPlanId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"incidentPlanIdCustomizable\": true,\n         \"incidentPlanIdDisplay\": \"show\",\n         \"isShared\": true,\n         \"name\": \"Intruder Alert\",\n         \"priority\": \"critical\",\n         \"subject\": \"An intruder has been spotted!\",\n         \"ttsSpeed\": \"normal\",\n         \"ttsType\": \"subject-and-body\",\n         \"ttsVoiceId\": \"751de14c-841a-11ea-a32f-2527bd7fe7a8\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ],\n         \"userIdsDisplay\": \"show\"}'\n"}],"description":"Creates a new message template.\n\n> ⚠️ If an image, audio, or both are to be uploaded, the content type\n> `multipart/form-data` must be used.","tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}":{"get":{"summary":"Get a message template","operationId":"getMessageTemplate","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeConfirmationRequest","in":"query","description":"Include an embedded copy of the confirmation request in the response","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this message template belongs","schema":{"type":"boolean"},"example":true},{"name":"includeMessageTemplateCancellationIds","in":"query","description":"Include the list of cancellation ids for the message template in the response","schema":{"type":"boolean"}},{"name":"includeNotificationProfile","in":"query","description":"Include an embedded copy of the notification profile in the response","schema":{"type":"boolean"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_message-templates.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single message template based on its `id`. Since this is\nnot a list request, there is no pagination wrapper around the result.","tags":["Message Templates"]},"put":{"summary":"Update a message template","operationId":"updateMessageTemplate","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeConfirmationRequest","in":"query","description":"Include an embedded copy of the confirmation request in the response","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeMessageTemplateCancellationIds","in":"query","description":"Include the list of cancellation ids for the message template in the response","schema":{"type":"boolean"}},{"name":"includeNotificationProfile","in":"query","description":"Include an embedded copy of the notification profile in the response","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/message-templates.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_message-templates.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'areaOfInterestIdsDisplay': 'show',\n    'body': 'Please stay alert for updates as we track the intruder.',\n    'cancelNotificationsType': 'none',\n    'collaborationGroupIds': [\n        '18e34a8a-6b10-4000-889c-dd02325e5f01'\n    ],\n    'collaborationGroupIdsDisplay': 'show',\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'deviceGroupIdsDisplay': 'show',\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'distributionListIdsDisplay': 'show',\n    'imageAltText': 'Green checkmark indicating completion',\n    'incidentPlanId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'incidentPlanIdCustomizable': true,\n    'incidentPlanIdDisplay': 'show',\n    'isShared': true,\n    'name': 'Intruder Alert',\n    'priority': 'critical',\n    'subject': 'An intruder has been spotted!',\n    'ttsSpeed': 'normal',\n    'ttsType': 'subject-and-body',\n    'ttsVoiceId': '751de14c-841a-11ea-a32f-2527bd7fe7a8',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ],\n    'userIdsDisplay': 'show'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'areaOfInterestIdsDisplay': 'show',\n    'body': 'Please stay alert for updates as we track the intruder.',\n    'cancelNotificationsType': 'none',\n    'collaborationGroupIds': [\n        '18e34a8a-6b10-4000-889c-dd02325e5f01'\n    ],\n    'collaborationGroupIdsDisplay': 'show',\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'deviceGroupIdsDisplay': 'show',\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'distributionListIdsDisplay': 'show',\n    'imageAltText': 'Green checkmark indicating completion',\n    'incidentPlanId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'incidentPlanIdCustomizable': True,\n    'incidentPlanIdDisplay': 'show',\n    'isShared': True,\n    'name': 'Intruder Alert',\n    'priority': 'critical',\n    'subject': 'An intruder has been spotted!',\n    'ttsSpeed': 'normal',\n    'ttsType': 'subject-and-body',\n    'ttsVoiceId': '751de14c-841a-11ea-a32f-2527bd7fe7a8',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ],\n    'userIdsDisplay': 'show'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"areaOfInterestIds\": [\n             \"8145ebd1-7a8b-11ee-bc97-098b09a637c2\"\n         ],\n         \"areaOfInterestIdsDisplay\": \"show\",\n         \"body\": \"Please stay alert for updates as we track the intruder.\",\n         \"cancelNotificationsType\": \"none\",\n         \"collaborationGroupIds\": [\n             \"18e34a8a-6b10-4000-889c-dd02325e5f01\"\n         ],\n         \"collaborationGroupIdsDisplay\": \"show\",\n         \"deviceGroupIds\": [\n             \"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"\n         ],\n         \"deviceGroupIdsDisplay\": \"show\",\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"distributionListIdsDisplay\": \"show\",\n         \"imageAltText\": \"Green checkmark indicating completion\",\n         \"incidentPlanId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"incidentPlanIdCustomizable\": true,\n         \"incidentPlanIdDisplay\": \"show\",\n         \"isShared\": true,\n         \"name\": \"Intruder Alert\",\n         \"priority\": \"critical\",\n         \"subject\": \"An intruder has been spotted!\",\n         \"ttsSpeed\": \"normal\",\n         \"ttsType\": \"subject-and-body\",\n         \"ttsVoiceId\": \"751de14c-841a-11ea-a32f-2527bd7fe7a8\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ],\n         \"userIdsDisplay\": \"show\"}'\n"}],"description":"Updates an existing message template.\n\n> ⚠️ If an image, audio, or both are to be uploaded, the content type\n> `multipart/form-data` must be used.","tags":["Message Templates"]},"delete":{"summary":"Delete a message template","operationId":"deleteMessageTemplate","parameters":[{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/alarm-dependents":{"get":{"summary":"List all message template alarm dependents","operationId":"getMessageTemplateAlarmDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_alarm-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/alarm-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/alarm-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/alarm-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/area-of-interest-boundary-trigger-dependents":{"get":{"summary":"List all message template area of interest boundary trigger dependents","operationId":"getMessageTemplateAreaOfInterestBoundaryTriggerDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_area-of-interest-boundary-trigger-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/area-of-interest-boundary-trigger-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/area-of-interest-boundary-trigger-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/area-of-interest-boundary-trigger-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/audio":{"get":{"summary":"Get a template’s audio","operationId":"getMessageTemplateAudios","parameters":[{"name":"convert","in":"query","description":"*Deprecated:* No longer necessary because the `content-type` header returned allows the audio to be used as-is; this parameter will likely stop being supported in a future release. Converts the audio to PCM from μ-law","schema":{"type":"string","enum":["pcm"]},"deprecated":true},{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than played","schema":{"type":"boolean"}},{"name":"format","in":"query","description":"How the response should direct to the audio download, default is redirect.","schema":{"type":"string","enum":["redirect","json"]}},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"preferredLanguage","in":"query","description":"The preferred notification language. Defaults to the user's preferred language.","schema":{"type":"string","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US"},"example":"en-US"}],"responses":{"200":{"$ref":"#/components/responses/_message-template.audio.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/audio\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/audio\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/audio\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the audio, if any, that is attached to the template, as a\nbinary stream. Typically this is μ-law encoded compressed audio. For\nimproved performance, this will likely involve redirection (via an\nHTTP 302 Redirect response) to an AWS CloudFront content distribution\nnetwork node which has cached the content closer geographically to\nwhere the request originated than the Singlewire REST API servers.","tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/callaware-call-redirect-dependents":{"get":{"summary":"List all message template callaware call redirect dependents","operationId":"getMessageTemplateCallawareCallRedirectDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_callaware-call-redirect-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/callaware-call-redirect-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/callaware-call-redirect-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/callaware-call-redirect-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/callaware-routing-request-dependents":{"get":{"summary":"List all message template callaware routing request dependents","operationId":"getMessageTemplateCallawareRoutingRequestDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_callaware-routing-request-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/callaware-routing-request-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/callaware-routing-request-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/callaware-routing-request-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/clone":{"post":{"summary":"Clone a message template","operationId":"createMessageTemplateClone","parameters":[{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/message-templates_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_message-templates_clone.post-response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Intruder Alert (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Intruder Alert (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Intruder Alert (Copy)\"}'\n"}],"description":"Creates a copy of the specified Message Template. The name of the new\ncopy is simply the original Message Template’s name with “ (Copy)”\nappended. In order to perform this operation, the user must have both\n`POST` permission to the `/message-templates` resource and `GET`\npermission to the Message Template they wish to copy.\n\nNote that the follow-up template cannot be copied.","tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/dialcast-dialing-configuration-dependents":{"get":{"summary":"List all message template dialcast dialing configuration dependents","operationId":"getMessageTemplateDialcastDialingConfigurationDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_dialcast-dialing-configuration-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/dialcast-dialing-configuration-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/dialcast-dialing-configuration-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/dialcast-dialing-configuration-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/icap-rule-dependents":{"get":{"summary":"List all message template icap rule dependents","operationId":"getMessageTemplateIcapRuleDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_icap-rule-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/icap-rule-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/icap-rule-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/icap-rule-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/image":{"get":{"summary":"Get a template’s image","operationId":"getMessageTemplateImages","parameters":[{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_message-template.image.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/image\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/image\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/image\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the image, if any, attached to the message template, as a\nbinary stream. For improved performance, this will likely involve\nredirection (via an HTTP 302 Redirect response) to an AWS CloudFront\ncontent distribution network node which has cached the content closer\ngeographically to where the request originated than the Singlewire\nREST API servers.","tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/inbound-email-rule-dependents":{"get":{"summary":"List all message template inbound email rule dependents","operationId":"getMessageTemplateInboundEmailRuleDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_inbound-email-rule-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/inbound-email-rule-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/inbound-email-rule-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/inbound-email-rule-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/inbound-rss-feed-dependents":{"get":{"summary":"List all message template inbound rss feed dependents","operationId":"getMessageTemplateInboundRssFeedDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_inbound-rss-feed-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/inbound-rss-feed-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/inbound-rss-feed-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/inbound-rss-feed-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/incident-plan-quick-access-dependents":{"get":{"summary":"List all message template incident plan quick access dependents","operationId":"getMessageTemplateIncidentPlanQuickAccessDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_incident-plan-quick-access-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/incident-plan-quick-access-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/incident-plan-quick-access-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/incident-plan-quick-access-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/night-bell-dependents":{"get":{"summary":"List all message template night bell dependents","operationId":"getMessageTemplateNightBellDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_night-bell-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/night-bell-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/night-bell-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/night-bell-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/ring-list-dependents":{"get":{"summary":"List all message template ring list dependents","operationId":"getMessageTemplateRingListDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_ring-list-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/ring-list-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/ring-list-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/ring-list-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/scenario-dependents":{"get":{"summary":"List all message template scenario dependents","operationId":"getMessageTemplateScenarioDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_scenario-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/scenario-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/scenario-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/scenario-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/scheduled-notification-dependents":{"get":{"summary":"List all message template scheduled notification dependents","operationId":"getMessageTemplateScheduledNotificationDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_scheduled-notification-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/scheduled-notification-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/scheduled-notification-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/scheduled-notification-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/message-templates/{messageTemplateId}/workflow-dependents":{"get":{"summary":"List all message template workflow dependents","operationId":"getMessageTemplateWorkflowDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"path","description":"The message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/message-templates_workflow-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/workflow-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/workflow-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/message-templates/{messageTemplateId}/workflow-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Message Templates"]}},"/v1/notification-profiles":{"get":{"summary":"List all notification profiles","operationId":"getNotificationProfiles","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this notification profile belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this notification profile belongs","schema":{"type":"boolean"},"example":true},{"name":"includeMessageTemplates","in":"query","description":"Whether to include dependent message templates in the response","schema":{"type":"boolean"}},{"name":"isShared","in":"query","description":"Denotes whether or not this notification profile is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_notification-profiles.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all available notification profiles. (The\n[Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user\nattached to the access token, may limit the resources returned.\nControlling access to notification profiles allows administrators to\ndecide who can modify a message template's overall configuration.)","tags":["Notification Profiles"]},"post":{"summary":"Create a notification profile","operationId":"createNotificationProfile","parameters":[{"name":"includeMessageTemplates","in":"query","description":"Whether to include dependent message templates in the response","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/notification-profiles.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notification-profiles.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Default Profile',\n    'settings': [{\n            '0a466b30767011e5Ba6e765ae9d26291': {\n                'disabled': false,\n                'value': {\n                    'introduction': 'This is an alert from Campus Security.'\n                }\n            },\n            '17c57b50833d11e5B222Def38c5ff9e6': {\n                'disabled': false,\n                'value': {\n                    'introduction': 'Campus Security alert:'\n                }\n            },\n            '56d6e006542e11e6Ae77E3b4cf41fce9': {\n                'disabled': false,\n                'value': {\n                    'displaySize': 'Medium',\n                    'mainWindow': {\n                        'backgroundColor': '#FFFFFF',\n                        'body': {\n                            'color': '#000000'\n                        },\n                        'linkColor': '#0000E0',\n                        'subject': {\n                            'color': '#000000'\n                        }\n                    },\n                    'ticker': {\n                        'backgroundColor': '#FFFFCC',\n                        'color': '#101000'\n                    }\n                }\n            },\n            '5a1811773f0211e696176bb7c7eddc0e': {\n                'disabled': false\n            },\n            '839771a8491511e68b2fD310e58d9c03': {\n                'disabled': false\n            },\n            'b6d90e602a4011e581349a9e6c05013a': {\n                'disabled': false,\n                'value': {\n                    'introText': 'This is an alert from Campus Security.'\n                }\n            },\n            'e1b2db4b626a11e7A3f90de43455e892': {\n                'disabled': false,\n                'value': {\n                    'categories': [\n                        'Geo',\n                        'Met',\n                        'Safety',\n                        'Security',\n                        'Rescue',\n                        'Fire',\n                        'Health',\n                        'Env',\n                        'Transport',\n                        'Infra',\n                        'CBRNE',\n                        'Other'\n                    ],\n                    'eventDescription': 'InformaCast Alert',\n                    'parameters': []\n                }\n            },\n            'f754d17c0eaf11edBc05F710a7fe079b': {\n                'disabled': false,\n                'value': {\n                    'duration': 5,\n                    'messageType': 'Text and Pre-Recorded Audio',\n                    'persistentText': true,\n                    'priority': 1,\n                    'queuedFailureText': 'Unable to send queued broadcast!',\n                    'repetitionPause': 1,\n                    'repetitions': 1,\n                    'scrollSpeed': 5\n                }\n            }\n        }]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Default Profile',\n    'settings': [{\n            '0a466b30767011e5Ba6e765ae9d26291': {\n                'disabled': False,\n                'value': {\n                    'introduction': 'This is an alert from Campus Security.'\n                }\n            },\n            '17c57b50833d11e5B222Def38c5ff9e6': {\n                'disabled': False,\n                'value': {\n                    'introduction': 'Campus Security alert:'\n                }\n            },\n            '56d6e006542e11e6Ae77E3b4cf41fce9': {\n                'disabled': False,\n                'value': {\n                    'displaySize': 'Medium',\n                    'mainWindow': {\n                        'backgroundColor': '#FFFFFF',\n                        'body': {\n                            'color': '#000000'\n                        },\n                        'linkColor': '#0000E0',\n                        'subject': {\n                            'color': '#000000'\n                        }\n                    },\n                    'ticker': {\n                        'backgroundColor': '#FFFFCC',\n                        'color': '#101000'\n                    }\n                }\n            },\n            '5a1811773f0211e696176bb7c7eddc0e': {\n                'disabled': False\n            },\n            '839771a8491511e68b2fD310e58d9c03': {\n                'disabled': False\n            },\n            'b6d90e602a4011e581349a9e6c05013a': {\n                'disabled': False,\n                'value': {\n                    'introText': 'This is an alert from Campus Security.'\n                }\n            },\n            'e1b2db4b626a11e7A3f90de43455e892': {\n                'disabled': False,\n                'value': {\n                    'categories': [\n                        'Geo',\n                        'Met',\n                        'Safety',\n                        'Security',\n                        'Rescue',\n                        'Fire',\n                        'Health',\n                        'Env',\n                        'Transport',\n                        'Infra',\n                        'CBRNE',\n                        'Other'\n                    ],\n                    'eventDescription': 'InformaCast Alert',\n                    'parameters': []\n                }\n            },\n            'f754d17c0eaf11edBc05F710a7fe079b': {\n                'disabled': False,\n                'value': {\n                    'duration': 5,\n                    'messageType': 'Text and Pre-Recorded Audio',\n                    'persistentText': True,\n                    'priority': 1,\n                    'queuedFailureText': 'Unable to send queued broadcast!',\n                    'repetitionPause': 1,\n                    'repetitions': 1,\n                    'scrollSpeed': 5\n                }\n            }\n        }]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Default Profile\",\n         \"settings\": [{\n                 \"0a466b30767011e5Ba6e765ae9d26291\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"introduction\": \"This is an alert from Campus Security.\"\n                     }\n                 },\n                 \"17c57b50833d11e5B222Def38c5ff9e6\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"introduction\": \"Campus Security alert:\"\n                     }\n                 },\n                 \"56d6e006542e11e6Ae77E3b4cf41fce9\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"displaySize\": \"Medium\",\n                         \"mainWindow\": {\n                             \"backgroundColor\": \"#FFFFFF\",\n                             \"body\": {\n                                 \"color\": \"#000000\"\n                             },\n                             \"linkColor\": \"#0000E0\",\n                             \"subject\": {\n                                 \"color\": \"#000000\"\n                             }\n                         },\n                         \"ticker\": {\n                             \"backgroundColor\": \"#FFFFCC\",\n                             \"color\": \"#101000\"\n                         }\n                     }\n                 },\n                 \"5a1811773f0211e696176bb7c7eddc0e\": {\n                     \"disabled\": false\n                 },\n                 \"839771a8491511e68b2fD310e58d9c03\": {\n                     \"disabled\": false\n                 },\n                 \"b6d90e602a4011e581349a9e6c05013a\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"introText\": \"This is an alert from Campus Security.\"\n                     }\n                 },\n                 \"e1b2db4b626a11e7A3f90de43455e892\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"categories\": [\n                             \"Geo\",\n                             \"Met\",\n                             \"Safety\",\n                             \"Security\",\n                             \"Rescue\",\n                             \"Fire\",\n                             \"Health\",\n                             \"Env\",\n                             \"Transport\",\n                             \"Infra\",\n                             \"CBRNE\",\n                             \"Other\"\n                         ],\n                         \"eventDescription\": \"InformaCast Alert\",\n                         \"parameters\": []\n                     }\n                 },\n                 \"f754d17c0eaf11edBc05F710a7fe079b\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"duration\": 5,\n                         \"messageType\": \"Text and Pre-Recorded Audio\",\n                         \"persistentText\": true,\n                         \"priority\": 1,\n                         \"queuedFailureText\": \"Unable to send queued broadcast!\",\n                         \"repetitionPause\": 1,\n                         \"repetitions\": 1,\n                         \"scrollSpeed\": 5\n                     }\n                 }\n             }]}'\n"}],"description":"Creates a new notification profile. You can optionally define settings in this request as well.","tags":["Notification Profiles"]}},"/v1/notification-profiles/{notificationProfileId}":{"get":{"summary":"Get a notification profile","operationId":"getNotificationProfile","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this notification profile belongs","schema":{"type":"boolean"},"example":true},{"name":"includeMessageTemplates","in":"query","description":"Whether to include dependent message templates in the response","schema":{"type":"boolean"}},{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notification-profiles.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single notification profile by its `id`. Since this is not\na list request, there is no pagination wrapper around the result.","tags":["Notification Profiles"]},"put":{"summary":"Update a notification profile","operationId":"updateNotificationProfile","parameters":[{"name":"includeMessageTemplates","in":"query","description":"Whether to include dependent message templates in the response","schema":{"type":"boolean"}},{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/notification-profiles.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notification-profiles.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Default Profile',\n    'settings': [{\n            '0a466b30767011e5Ba6e765ae9d26291': {\n                'disabled': false,\n                'value': {\n                    'introduction': 'This is an alert from Campus Security.'\n                }\n            },\n            '17c57b50833d11e5B222Def38c5ff9e6': {\n                'disabled': false,\n                'value': {\n                    'introduction': 'Campus Security alert:'\n                }\n            },\n            '56d6e006542e11e6Ae77E3b4cf41fce9': {\n                'disabled': false,\n                'value': {\n                    'displaySize': 'Medium',\n                    'mainWindow': {\n                        'backgroundColor': '#FFFFFF',\n                        'body': {\n                            'color': '#000000'\n                        },\n                        'linkColor': '#0000E0',\n                        'subject': {\n                            'color': '#000000'\n                        }\n                    },\n                    'ticker': {\n                        'backgroundColor': '#FFFFCC',\n                        'color': '#101000'\n                    }\n                }\n            },\n            '5a1811773f0211e696176bb7c7eddc0e': {\n                'disabled': false\n            },\n            '839771a8491511e68b2fD310e58d9c03': {\n                'disabled': false\n            },\n            'b6d90e602a4011e581349a9e6c05013a': {\n                'disabled': false,\n                'value': {\n                    'introText': 'This is an alert from Campus Security.'\n                }\n            },\n            'e1b2db4b626a11e7A3f90de43455e892': {\n                'disabled': false,\n                'value': {\n                    'categories': [\n                        'Geo',\n                        'Met',\n                        'Safety',\n                        'Security',\n                        'Rescue',\n                        'Fire',\n                        'Health',\n                        'Env',\n                        'Transport',\n                        'Infra',\n                        'CBRNE',\n                        'Other'\n                    ],\n                    'eventDescription': 'InformaCast Alert',\n                    'parameters': []\n                }\n            },\n            'f754d17c0eaf11edBc05F710a7fe079b': {\n                'disabled': false,\n                'value': {\n                    'duration': 5,\n                    'messageType': 'Text and Pre-Recorded Audio',\n                    'persistentText': true,\n                    'priority': 1,\n                    'queuedFailureText': 'Unable to send queued broadcast!',\n                    'repetitionPause': 1,\n                    'repetitions': 1,\n                    'scrollSpeed': 5\n                }\n            }\n        }]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Default Profile',\n    'settings': [{\n            '0a466b30767011e5Ba6e765ae9d26291': {\n                'disabled': False,\n                'value': {\n                    'introduction': 'This is an alert from Campus Security.'\n                }\n            },\n            '17c57b50833d11e5B222Def38c5ff9e6': {\n                'disabled': False,\n                'value': {\n                    'introduction': 'Campus Security alert:'\n                }\n            },\n            '56d6e006542e11e6Ae77E3b4cf41fce9': {\n                'disabled': False,\n                'value': {\n                    'displaySize': 'Medium',\n                    'mainWindow': {\n                        'backgroundColor': '#FFFFFF',\n                        'body': {\n                            'color': '#000000'\n                        },\n                        'linkColor': '#0000E0',\n                        'subject': {\n                            'color': '#000000'\n                        }\n                    },\n                    'ticker': {\n                        'backgroundColor': '#FFFFCC',\n                        'color': '#101000'\n                    }\n                }\n            },\n            '5a1811773f0211e696176bb7c7eddc0e': {\n                'disabled': False\n            },\n            '839771a8491511e68b2fD310e58d9c03': {\n                'disabled': False\n            },\n            'b6d90e602a4011e581349a9e6c05013a': {\n                'disabled': False,\n                'value': {\n                    'introText': 'This is an alert from Campus Security.'\n                }\n            },\n            'e1b2db4b626a11e7A3f90de43455e892': {\n                'disabled': False,\n                'value': {\n                    'categories': [\n                        'Geo',\n                        'Met',\n                        'Safety',\n                        'Security',\n                        'Rescue',\n                        'Fire',\n                        'Health',\n                        'Env',\n                        'Transport',\n                        'Infra',\n                        'CBRNE',\n                        'Other'\n                    ],\n                    'eventDescription': 'InformaCast Alert',\n                    'parameters': []\n                }\n            },\n            'f754d17c0eaf11edBc05F710a7fe079b': {\n                'disabled': False,\n                'value': {\n                    'duration': 5,\n                    'messageType': 'Text and Pre-Recorded Audio',\n                    'persistentText': True,\n                    'priority': 1,\n                    'queuedFailureText': 'Unable to send queued broadcast!',\n                    'repetitionPause': 1,\n                    'repetitions': 1,\n                    'scrollSpeed': 5\n                }\n            }\n        }]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Default Profile\",\n         \"settings\": [{\n                 \"0a466b30767011e5Ba6e765ae9d26291\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"introduction\": \"This is an alert from Campus Security.\"\n                     }\n                 },\n                 \"17c57b50833d11e5B222Def38c5ff9e6\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"introduction\": \"Campus Security alert:\"\n                     }\n                 },\n                 \"56d6e006542e11e6Ae77E3b4cf41fce9\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"displaySize\": \"Medium\",\n                         \"mainWindow\": {\n                             \"backgroundColor\": \"#FFFFFF\",\n                             \"body\": {\n                                 \"color\": \"#000000\"\n                             },\n                             \"linkColor\": \"#0000E0\",\n                             \"subject\": {\n                                 \"color\": \"#000000\"\n                             }\n                         },\n                         \"ticker\": {\n                             \"backgroundColor\": \"#FFFFCC\",\n                             \"color\": \"#101000\"\n                         }\n                     }\n                 },\n                 \"5a1811773f0211e696176bb7c7eddc0e\": {\n                     \"disabled\": false\n                 },\n                 \"839771a8491511e68b2fD310e58d9c03\": {\n                     \"disabled\": false\n                 },\n                 \"b6d90e602a4011e581349a9e6c05013a\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"introText\": \"This is an alert from Campus Security.\"\n                     }\n                 },\n                 \"e1b2db4b626a11e7A3f90de43455e892\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"categories\": [\n                             \"Geo\",\n                             \"Met\",\n                             \"Safety\",\n                             \"Security\",\n                             \"Rescue\",\n                             \"Fire\",\n                             \"Health\",\n                             \"Env\",\n                             \"Transport\",\n                             \"Infra\",\n                             \"CBRNE\",\n                             \"Other\"\n                         ],\n                         \"eventDescription\": \"InformaCast Alert\",\n                         \"parameters\": []\n                     }\n                 },\n                 \"f754d17c0eaf11edBc05F710a7fe079b\": {\n                     \"disabled\": false,\n                     \"value\": {\n                         \"duration\": 5,\n                         \"messageType\": \"Text and Pre-Recorded Audio\",\n                         \"persistentText\": true,\n                         \"priority\": 1,\n                         \"queuedFailureText\": \"Unable to send queued broadcast!\",\n                         \"repetitionPause\": 1,\n                         \"repetitions\": 1,\n                         \"scrollSpeed\": 5\n                     }\n                 }\n             }]}'\n"}],"description":"Updates an existing notification profile’s `name` and `settings`.","tags":["Notification Profiles"]},"delete":{"summary":"Delete a notification profile","operationId":"deleteNotificationProfile","parameters":[{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing notification profile.\n\n> ⚠️ You can't remove the default notification profile, or one that is currently used by a message template.","tags":["Notification Profiles"]}},"/v1/notification-profiles/{notificationProfileId}/clone":{"post":{"summary":"Clone a notification profile","operationId":"createNotificationProfileClone","parameters":[{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/notification-profiles_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_notification-profiles_clone.post-response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Default Profile (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Default Profile (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Default Profile (Copy)\"}'\n"}],"description":"Creates a copy of the specified notification profile. The name of the\nnew copy is simply the original notification profile’s name with \" (Copy)\"\nappended. In order to perform this operation, the user must have both\n`POST` permission to the `/notification-profiles` resource and `GET` permission\nto the notification profile they wish to copy.","tags":["Notification Profiles"]}},"/v1/notification-profiles/{notificationProfileId}/settings":{"get":{"summary":"List all notification profile settings","operationId":"getNotificationProfileSettings","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_notification-profiles.settings-response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Lists all available settings for a notification profile.\n\n> Values that also apply to Cisco IP Phones are denoted with a ☎ in the description.","tags":["Notification Profiles"]}},"/v1/notification-profiles/{notificationProfileId}/settings/{settingId}":{"get":{"summary":"Get a notification profile setting","operationId":"getNotificationProfileSetting","parameters":[{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}},{"name":"settingId","in":"path","description":"The setting id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Get a single settings object for a notification profile by its extension `id`.\n\n> Values that also apply to Cisco IP Phones are denoted with a ☎ in the description.","tags":["Notification Profiles"]},"put":{"summary":"Update a notification profile setting","operationId":"updateNotificationProfileSetting","parameters":[{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}},{"name":"settingId","in":"path","description":"The setting id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/notification-profiles_settings.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field disabled is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'disabled': false,\n    'value': {\n        'displaySize': 'Medium',\n        'mainWindow': {\n            'backgroundColor': '#FFFFFF',\n            'body': {\n                'color': '#000000'\n            },\n            'linkColor': '#0000E0',\n            'subject': {\n                'color': '#000000'\n            }\n        },\n        'ticker': {\n            'backgroundColor': '#FFFFCC',\n            'color': '#101000'\n        }\n    }\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'disabled': False,\n    'value': {\n        'displaySize': 'Medium',\n        'mainWindow': {\n            'backgroundColor': '#FFFFFF',\n            'body': {\n                'color': '#000000'\n            },\n            'linkColor': '#0000E0',\n            'subject': {\n                'color': '#000000'\n            }\n        },\n        'ticker': {\n            'backgroundColor': '#FFFFCC',\n            'color': '#101000'\n        }\n    }\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"disabled\": false,\n         \"value\": {\n             \"displaySize\": \"Medium\",\n             \"mainWindow\": {\n                 \"backgroundColor\": \"#FFFFFF\",\n                 \"body\": {\n                     \"color\": \"#000000\"\n                 },\n                 \"linkColor\": \"#0000E0\",\n                 \"subject\": {\n                     \"color\": \"#000000\"\n                 }\n             },\n             \"ticker\": {\n                 \"backgroundColor\": \"#FFFFCC\",\n                 \"color\": \"#101000\"\n             }\n         }}'\n"}],"description":"Update a single settings object (its `disabled` state, `value`, `attachments`, or `ipSpeakerAssets`) for a notification profile by its setting (extension) `id`.","tags":["Notification Profiles"]}},"/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/attachments/{attachmentId}":{"get":{"summary":"Get a notification profile setting attachment","operationId":"getNotificationProfileSettingAttachment","parameters":[{"name":"attachmentId","in":"path","description":"The attachment id path parameter","required":true,"schema":{"type":"string"}},{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}},{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}},{"name":"settingId","in":"path","description":"The setting id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification-profiles_attachments.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/attachments/{attachmentId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/attachments/{attachmentId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/attachments/{attachmentId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a single attachment for the notification profile settings by its `id`.\n\n> ℹ️ Currently only the InformaCast device extension supports/honors\n> attachments, with the following names and purposes:\n\nName | Purpose\n---- | -------\nmainAudio | Either the audio file to play to recipients during a pre-recorded audio message, or an activation alert that plays while devices are activating for a live audio message.\ndisplayIcon | The image file to use as an icon (displays on compatible devices; cropped to 38x64 and positioned at the top left corner of a message’s display).\npostTone | Audio that plays to recipients to designate an ending message.\npreTone | Audio that plays to recipients to announce an impending message.","tags":["Notification Profiles"]}},"/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset-example-image/{ipSpeakerAssetExampleImageId}":{"get":{"summary":"Get a notification profile setting ip speaker asset example image","operationId":"getNotificationProfileSettingIpSpeakerAssetExampleImage","parameters":[{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}},{"name":"ipSpeakerAssetExampleImageId","in":"path","description":"The ip speaker asset example image id path parameter","required":true,"schema":{"type":"string"}},{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}},{"name":"settingId","in":"path","description":"The setting id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification-profiles_ip_speaker_asset_example_image.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset-example-image/{ipSpeakerAssetExampleImageId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset-example-image/{ipSpeakerAssetExampleImageId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset-example-image/{ipSpeakerAssetExampleImageId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a single IP speaker asset example image for the notification profile settings by its `id`.\n\n> ℹ️ Currently only the InformaCast device extension supports/honors IP speaker asset example images","tags":["Notification Profiles"]}},"/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset/{ipSpeakerAssetId}":{"get":{"summary":"Get a notification profile setting ip speaker asset","operationId":"getNotificationProfileSettingIpSpeakerAsset","parameters":[{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}},{"name":"ipSpeakerAssetId","in":"path","description":"The ip speaker asset id path parameter","required":true,"schema":{"type":"string"}},{"name":"notificationProfileId","in":"path","description":"The notification profile id path parameter","required":true,"schema":{"type":"string"}},{"name":"settingId","in":"path","description":"The setting id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification-profiles_ip_speaker_asset.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset/{ipSpeakerAssetId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset/{ipSpeakerAssetId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notification-profiles/{notificationProfileId}/settings/{settingId}/ip-speaker-asset/{ipSpeakerAssetId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a single IP speaker asset for the notification profile settings by its `id`.\n\n> ℹ️ Currently only the InformaCast device extension supports/honors IP speaker assets","tags":["Notification Profiles"]}},"/v1/notifications":{"get":{"summary":"List all notifications","operationId":"getNotifications","parameters":[{"name":"confirmableOnly","in":"query","description":"Set `true` to only list notification recipients that can respond to confirmation requests","schema":{"type":"boolean"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"draft","in":"query","description":"If omitted, an actual notification is sent. If supplied with the value `true`, a notification preview is created, showing who would have received it if it were actually sent, but no actual sending will occur. As a query filter can be set to `true` to exclusively list this user's draft notifications.","schema":{"type":"boolean"}},{"name":"draftFilter","in":"query","description":"Controls which notifications are returned based on draft status. Unlike the :draft parameter, this allows a list to contain both draft and non-draft notifications. Defaults to `:nondraft`. Overridden by the `:draft` boolean parameter if it exists.","schema":{"type":"string","enum":["draft","nondraft","all"]}},{"name":"excludeNotificationTypes","in":"query","description":"A comma-delimited list of notification types to exclude (determined by `initiationSourceType`)","schema":{"type":"string"}},{"name":"facilityId","in":"query","description":"The ID of the facility this notification belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"filterNotificationStatuses","in":"query","description":"If supplied, will filter to include only notifications based on the comma-delimited list of notification statuses, out of `active`, `canceled`, `expired`, `completed`, or `unknown`","schema":{"type":"string"}},{"name":"incidentId","in":"query","description":"The `id` of the incident this notification started or belongs to","schema":{"type":"string","format":"uuid"}},{"name":"includeAreasOfInterest","in":"query","description":"If `true`, include the list of Areas of Interest and a list of their `id`s in the response; defaults to `false` when listing notifications; defaults to `true` when creating and getting individual notifications","schema":{"type":"boolean"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for image, audio, or floor plan images in the response when available.","schema":{"type":"boolean"}},{"name":"includeByMessageTemplateIds","in":"query","description":"A comma-delimited list of message template `id`s for which we want to retrieve notifications","schema":{"type":"string"}},{"name":"includeCollaborationGroups","in":"query","description":"If `true`, include the list of Outbound Systems and a list of their `id`s in the response; defaults to `false` when listing notifications; defaults to `true` when creating and getting individual notifications","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"If `true`, include the list of Device Groups and a list of their `id`s in the response; defaults to `false` when listing notifications; defaults to `true` when creating and getting individual notifications","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"If `true`, include the list of Distribution Lists and a list of their `id`s in the response; defaults to `false` when listing and creating notifications; defaults to `true` when getting individual notifications","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this notification belongs","schema":{"type":"boolean"},"example":true},{"name":"includeFloorPlan","in":"query","description":"If `true`, floor plan image files will be added to the `initiationDetails` `location` object; if `includeBinaryUrls` is also `true`, these will include CloudFront URLs<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeNotificationTypes","in":"query","description":"A comma-delimited list of notification types to include (determined by `initiationSourceType`)","schema":{"type":"string"}},{"name":"includeServer","in":"query","description":"If `true`, include information about the server that initiated the notification","schema":{"type":"boolean"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"If `true`, include the list of Users and a list of their `id`s in the response; defaults to `false` when listing and creating notifications; defaults to `true` when getting individual notifications","schema":{"type":"boolean"}},{"name":"initiationSourceId","in":"query","description":"The `id` of the resource that initiated the notification, if not a user","schema":{"type":"string"}},{"name":"initiatorId","in":"query","description":"ID of the initiating user","schema":{"type":"string","format":"uuid"},"example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"query","description":"The `id` of the Message Template that serves as the basis for this notification: provides default values for the notification attributes and controls whether they can be overridden at send time. This field is required to send a notification.","schema":{"type":"string","format":"uuid"},"example":"d2d02884-7ceb-11ee-9061-050e02dd61f4"},{"name":"notificationSource","in":"query","description":"The source of the notification. This field is populated on notification creation and is the recommended attribute for filtering.","schema":{"type":"string","enum":["fusion-delta-sync-error-event","fusion-server-red","area-of-interest-boundary-trigger","alarm","poly-panic-button","supervisor-battery-low","api","kontaktio-wearable-panic-button","badge-battery-low","windows","zoom-health-issue","ios","singlewire-wearable-panic-button","desktop-devices-from-windows","ios_secure","tracking-event-notification","conference-call","server-broadcast-unknown-type","area-of-interest","cucm-panic-button","confirmation-request-escalation-rule","cirrus_admin","integration","zoom-callaware","windows_v2","sis-loader-failed","dial-cast","night-bell","scenario-device-resolution-failed","rostering-push","standard-scenario","singlewire-wearable-panic-button-emergency","webex-calling","cirrus_admin_v2","inbound-rss","administration-console","fusion-server-yellow","m2m","android","gateway-disconnected","speakers-unregistered","ios_secure_v2","inbound-email","mobile-app","android_secure_v2","ca-routing-request","panic-button","android-device-secure","cisco-enterprise","ca-redirect","beacon-disconnected","icmobile-web","cisco-webex","potential-speaker-configuration-issue","token-expiration","unknown-source","license-violation","beacon-battery-low","inbound-cap","scheduled-notification","android_secure","bell-schedule","cisco-webex-bot-eviction","integration-scenario","supervisor-disconnected","scenario-launcher-failure","ios-device-secure","phone-cache-update-failed","singlewire-wearable-panic-button-help-needed","inbound-email-rule"],"example":"administration-console"},"example":"administration-console"},{"name":"q","in":"query","description":"Perform a term (stemming) search on notification subject, body, initiation source description, initiation source type, initiator, and send time","schema":{"type":"string"},"example":"intruder"},{"name":"raw","in":"query","description":"If `true`, the subject and body will be returned in their original, uninterpolated form","schema":{"type":"boolean"}},{"name":"scenarioNotificationId","in":"query","description":"The associated scenario notification id","schema":{"type":"string","format":"uuid"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_notifications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all notifications which have been sent. (The\n[Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user\nattached to the access token, may limit the resources returned. A user\nwill generally be able to see all notifications sent to them, but\nordinary users will not be able to see notifications sent to other\nusers, unless they were the sender.)","tags":["Notifications"]},"post":{"summary":"Send a Notification","operationId":"createNotification","parameters":[{"name":"includeDistributionLists","in":"query","description":"If `true`, include the list of Distribution Lists and a list of their `id`s in the response; defaults to `false` when listing and creating notifications; defaults to `true` when getting individual notifications","schema":{"type":"boolean"}},{"name":"includeFloorPlan","in":"query","description":"If `true`, floor plan image files will be added to the `initiationDetails` `location` object; if `includeBinaryUrls` is also `true`, these will include CloudFront URLs<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeServer","in":"query","description":"If `true`, include information about the server that initiated the notification","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"If `true`, include the list of Users and a list of their `id`s in the response; defaults to `false` when listing and creating notifications; defaults to `true` when getting individual notifications","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/notifications.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notifications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field messageTemplateId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'additionalDeviceRecipients': [\n        {\n            'lookupValue': '12345',\n            'type': 'ip-speaker'\n        }\n    ],\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'body': 'Warning: An intruder has been spotted on campus heading towards the recreation center. Please be advised and stay tuned for further updates. Have you seen the intruder?',\n    'collaborationGroupIds': [\n        '18e34a8a-6b10-4000-889c-dd02325e5f01'\n    ],\n    'confirmationRequestId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n    'customVars': '{\"affectedCounty\" \"Dane\", \"affectedState\" \"Wisconsin\"}',\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'extensionSettingsOverrides': '{\"0a466b30767011e5Ba6e765ae9d26291\" {:disabled true}}',\n    'followUpForNotificationQuery': 'read:true',\n    'imageAltText': 'Green checkmark indicating completion',\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'notificationSource': 'administration-console',\n    'subject': 'An intruder has been spotted on campus',\n    'ttsSpeed': 'normal',\n    'ttsVoiceId': '751de14c-841a-11ea-a32f-2527bd7fe7a8',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'additionalDeviceRecipients': [\n        {\n            'lookupValue': '12345',\n            'type': 'ip-speaker'\n        }\n    ],\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'body': 'Warning: An intruder has been spotted on campus heading towards the recreation center. Please be advised and stay tuned for further updates. Have you seen the intruder?',\n    'collaborationGroupIds': [\n        '18e34a8a-6b10-4000-889c-dd02325e5f01'\n    ],\n    'confirmationRequestId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n    'customVars': '{\"affectedCounty\" \"Dane\", \"affectedState\" \"Wisconsin\"}',\n    'deviceGroupIds': [\n        '62f123c8-e0a5-11ee-9d3d-89d4670a1082'\n    ],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'extensionSettingsOverrides': '{\"0a466b30767011e5Ba6e765ae9d26291\" {:disabled true}}',\n    'followUpForNotificationQuery': 'read:true',\n    'imageAltText': 'Green checkmark indicating completion',\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'notificationSource': 'administration-console',\n    'subject': 'An intruder has been spotted on campus',\n    'ttsSpeed': 'normal',\n    'ttsVoiceId': '751de14c-841a-11ea-a32f-2527bd7fe7a8',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"additionalDeviceRecipients\": [\n             {\n                 \"lookupValue\": \"12345\",\n                 \"type\": \"ip-speaker\"\n             }\n         ],\n         \"areaOfInterestIds\": [\n             \"8145ebd1-7a8b-11ee-bc97-098b09a637c2\"\n         ],\n         \"body\": \"Warning: An intruder has been spotted on campus heading towards the recreation center. Please be advised and stay tuned for further updates. Have you seen the intruder?\",\n         \"collaborationGroupIds\": [\n             \"18e34a8a-6b10-4000-889c-dd02325e5f01\"\n         ],\n         \"confirmationRequestId\": \"80a5b997-e0b9-11ee-80c3-b5928b1c397d\",\n         \"customVars\": \"{\\\"affectedCounty\\\" \\\"Dane\\\", \\\"affectedState\\\" \\\"Wisconsin\\\"}\",\n         \"deviceGroupIds\": [\n             \"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"\n         ],\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"extensionSettingsOverrides\": \"{\\\"0a466b30767011e5Ba6e765ae9d26291\\\" {:disabled true}}\",\n         \"followUpForNotificationQuery\": \"read:true\",\n         \"imageAltText\": \"Green checkmark indicating completion\",\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"notificationSource\": \"administration-console\",\n         \"subject\": \"An intruder has been spotted on campus\",\n         \"ttsSpeed\": \"normal\",\n         \"ttsVoiceId\": \"751de14c-841a-11ea-a32f-2527bd7fe7a8\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Creates a notification to be sent to one or more specified recipients.\nThese may be individual [Users](#tag--Users) or a group of\nrecipients specified by [Distribution Lists](#tag--Distribution-Lists),\n[Collaboration Groups](#tag--Collaboration-Groups), [Areas of Interest](#tag--Areas-of-Interest), or [Device Groups](#tag--Device-Groups) (for Fusion customers).\nNotifications are always based on a [Message Template](#tag--Message-Templates), but values from the template may be overridden at\nsend time (as long as the template allows this). Any attributes in the\ntemplate which are required but not marked as customizable must be\npresent, with values matching those in the template. At least one\nrecipient must be specified (whether in the Message Template or the\nrequest parameters), or the `POST` will fail validation.\n\nTo retry a send safely, include an `Idempotency-Key` header. See\n[Idempotent Requests](#idempotent-requests).","tags":["Notifications"]}},"/v1/notifications/{notificationId}":{"get":{"summary":"Get a notification","operationId":"getNotification","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"If `true`, include the list of Areas of Interest and a list of their `id`s in the response; defaults to `false` when listing notifications; defaults to `true` when creating and getting individual notifications","schema":{"type":"boolean"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for image, audio, or floor plan images in the response when available.","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"If `true`, include the list of Outbound Systems and a list of their `id`s in the response; defaults to `false` when listing notifications; defaults to `true` when creating and getting individual notifications","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"If `true`, include the list of Device Groups and a list of their `id`s in the response; defaults to `false` when listing notifications; defaults to `true` when creating and getting individual notifications","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"If `true`, include the list of Distribution Lists and a list of their `id`s in the response; defaults to `false` when listing and creating notifications; defaults to `true` when getting individual notifications","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this notification belongs","schema":{"type":"boolean"},"example":true},{"name":"includeFloorPlan","in":"query","description":"If `true`, floor plan image files will be added to the `initiationDetails` `location` object; if `includeBinaryUrls` is also `true`, these will include CloudFront URLs<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeServer","in":"query","description":"If `true`, include information about the server that initiated the notification","schema":{"type":"boolean"}},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"If `true`, include the list of Users and a list of their `id`s in the response; defaults to `false` when listing and creating notifications; defaults to `true` when getting individual notifications","schema":{"type":"boolean"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"raw","in":"query","description":"If `true`, the subject and body will be returned in their original, uninterpolated form","schema":{"type":"boolean"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notifications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single notification based on its `id`. Since this is not a\nlist request, there is no pagination wrapper around the result.","tags":["Notifications"]},"delete":{"summary":"Remove a Notification","operationId":"deleteNotification","parameters":[{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a sent notification from the record. Generally only\nadministrative users will have permission to do this.","tags":["Notifications"]}},"/v1/notifications/{notificationId}/activities":{"get":{"summary":"List all notification activities","operationId":"getNotificationActivities","parameters":[{"name":"includeEndpointName","in":"query","description":"Set true to include the server name.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on notification activity type, read_status, confirmation_option, or endpoint name if `:include-endpoint-name` is `true`","schema":{"type":"string"},"example":"expire"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them","schema":{"type":"string","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"expire"},"example":"expire"},{"name":"userId","in":"query","description":"The id of the user whose interaction with the notification is being recorded","schema":{"type":"string","format":"uuid"},"example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"createdAt":{"description":"The created time of the notification","format":"date-time","type":"string"},"user":{"$ref":"#/components/schemas/_notifications_activities.user","description":"The User whose interaction with the notification is being recorded"},"readStatus":{"description":"Present when the type attribute is set-read-status, and will have the value read or unread. Marks the notification as read or unread as of the time of this activity. The read status can be toggled multiple times; the value set by the most recent activity is considered the current state","enum":["read","unread"],"example":"read","type":"string"},"id":{"description":"The id of this specific activity, allowing it to be manipulated or retrieved individually","format":"uuid","type":"string"},"userId":{"description":"The id of the user whose interaction with the notification is being recorded","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"notificationId":{"description":"The id of the user whose interaction with the notification is being recorded","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"expire","type":"string"},"details":{"description":"Typically just a comment field e.g. {\"comment\":\"Weather alert removed by NWS\"}","example":"{\"comment\":\"Weather alert expired by NWS\"}","format":"json","type":"string"},"confirmationOption":{"description":"When the type attribute is confirmation, this contains the Confirmation Request response the user has chosen. This will be a value from the options list of the confirmation request attached to the notification, and there will be at most one activity of this type recorded for this user and notification","example":null,"maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all activities recorded for the specified notification.","tags":["Notification Activities"]},"post":{"operationId":"createNotificationActivity","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"createdAt":{"description":"The created time of the notification","format":"date-time","type":"string"},"user":{"$ref":"#/components/schemas/_notifications_activities.user","description":"The User whose interaction with the notification is being recorded"},"readStatus":{"description":"Present when the type attribute is set-read-status, and will have the value read or unread. Marks the notification as read or unread as of the time of this activity. The read status can be toggled multiple times; the value set by the most recent activity is considered the current state","enum":["read","unread"],"example":"read","type":"string"},"id":{"description":"The id of this specific activity, allowing it to be manipulated or retrieved individually","format":"uuid","type":"string"},"userId":{"description":"The id of the user whose interaction with the notification is being recorded","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"notificationId":{"description":"The id of the user whose interaction with the notification is being recorded","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"expire","type":"string"},"details":{"description":"Typically just a comment field e.g. {\"comment\":\"Weather alert removed by NWS\"}","example":"{\"comment\":\"Weather alert expired by NWS\"}","format":"json","type":"string"},"confirmationOption":{"description":"When the type attribute is confirmation, this contains the Confirmation Request response the user has chosen. This will be a value from the options list of the confirmation request attached to the notification, and there will be at most one activity of this type recorded for this user and notification","example":null,"maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["Notification Activities"],"summary":"Create an Activity To Cancel Or Expire a Notification","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"details":{"description":"Typically just a comment field e.g. {\"comment\":\"Weather alert removed by NWS\"}","example":"{\"comment\":\"Weather alert expired by NWS\"}","format":"json","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them","enum":["expire","abort"],"example":"expire","type":"string"}},"required":["type"],"type":"object"}}}},"parameters":[{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"description":"Creates a new activity based on the `type` for the specified notification. This mechanism can currently be used to cancel or expire notifications. Canceling can be attempted while a notification is actively being sent to recipients. Canceling will not delete notifications that were successfully delivered to recipients and cannot be initiated after all recipients have been notified (i.e. after the notification’s status is `complete`). You can expire notifications that have been completed and are active. This does not remove the notification from your history, nor does it delete notifications from users who have already viewed the message. It does, however, update the status of the notification to show that it has expired.","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'details': '{\"comment\":\"Weather alert expired by NWS\"}',\n    'type': 'expire'\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'details': '{\"comment\":\"Weather alert expired by NWS\"}',\n    'type': 'expire'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"details\": \"{\\\"comment\\\":\\\"Weather alert expired by NWS\\\"}\",\n         \"type\": \"expire\"}'\n"}]}},"/v1/notifications/{notificationId}/activities/{activityId}":{"get":{"summary":"Get a notification activity","operationId":"getNotificationActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeEndpointName","in":"query","description":"Set true to include the server name.","schema":{"type":"boolean"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"createdAt":{"description":"The created time of the notification","format":"date-time","type":"string"},"user":{"$ref":"#/components/schemas/_notifications_activities.user","description":"The User whose interaction with the notification is being recorded"},"readStatus":{"description":"Present when the type attribute is set-read-status, and will have the value read or unread. Marks the notification as read or unread as of the time of this activity. The read status can be toggled multiple times; the value set by the most recent activity is considered the current state","enum":["read","unread"],"example":"read","type":"string"},"id":{"description":"The id of this specific activity, allowing it to be manipulated or retrieved individually","format":"uuid","type":"string"},"userId":{"description":"The id of the user whose interaction with the notification is being recorded","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"notificationId":{"description":"The id of the user whose interaction with the notification is being recorded","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"expire","type":"string"},"details":{"description":"Typically just a comment field e.g. {\"comment\":\"Weather alert removed by NWS\"}","example":"{\"comment\":\"Weather alert expired by NWS\"}","format":"json","type":"string"},"confirmationOption":{"description":"When the type attribute is confirmation, this contains the Confirmation Request response the user has chosen. This will be a value from the options list of the confirmation request attached to the notification, and there will be at most one activity of this type recorded for this user and notification","example":null,"maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities/{activityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/notifications/{notificationId}/activities/{activityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific activity based the `id` values of the notification and activity. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Notification Activities"]}},"/v1/notifications/{notificationId}/audio":{"get":{"summary":"Get a notification’s audio","operationId":"getNotificationAudios","parameters":[{"name":"convert","in":"query","description":"*Deprecated:* No longer necessary because the `content-type` header returned allows the audio to be used as-is; this parameter will likely stop being supported in a future release. Converts the audio to PCM from μ-law","schema":{"type":"string","enum":["pcm"]},"deprecated":true},{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than played","schema":{"type":"boolean"}},{"name":"format","in":"query","description":"How the response should direct to the audio download, default is redirect.","schema":{"type":"string","enum":["redirect","json"]}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"preferredLanguage","in":"query","description":"The preferred notification language. Defaults to the user's preferred language.","schema":{"type":"string","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US"},"example":"en-US"}],"responses":{"200":{"$ref":"#/components/responses/_notification.audio.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_notification.audio.redirect.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/audio\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/audio\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/audio\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the audio, if any, that was sent with the notification, as a\nbinary stream. Typically this is μ-law encoded compressed audio. For\nimproved performance, this will likely involve redirection (via an\nHTTP 302 Redirect response) to an AWS CloudFront content distribution\nnetwork node which has cached the content closer geographically to\nwhere the request originated than the Singlewire REST API servers.","tags":["Notifications"]}},"/v1/notifications/{notificationId}/devices":{"get":{"summary":"List all notification devices","operationId":"getNotificationDevices","parameters":[{"name":"deviceIdentifier","in":"query","description":"Device Identifier","schema":{"type":"string","maximum":10000},"example":"5e59d111870147cec004ad99f00ffd2dd75d61cff13f13aaf3f047ef38430aba"},{"name":"endpointId","in":"query","description":"Endpoint Identifier associated with device, if any","schema":{"type":"string","format":"uuid"}},{"name":"excludeUser","in":"query","description":"Set to `true` to skip fetching and returning user data (note: all known usages exclude `user`, so it will be removed from the API in the future)","schema":{"type":"boolean"},"deprecated":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on notification device names or attributes, endpoint names, user names, or user emails","schema":{"type":"string"},"example":"iPhone"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of the device, such as `singlewire:email`, `singlewire:CiscoIPPhone`, `apns`, `Android`, etc.","schema":{"type":"string","maximum":10000},"example":"apns"},{"name":"types","in":"query","description":"A comma-delimited list of device types to include","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/notifications_devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all devices the notification was sent to.","tags":["Notification Devices"]}},"/v1/notifications/{notificationId}/devices/{deviceId}":{"get":{"summary":"Get a notification device","operationId":"getNotificationDevice","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}},{"name":"excludeUser","in":"query","description":"Set to `true` to skip fetching and returning user data (note: all known usages exclude `user`, so it will be removed from the API in the future)","schema":{"type":"boolean"},"deprecated":true},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/notifications_devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/devices/{deviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/devices/{deviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/devices/{deviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves device information based the `id` values of the notification and device. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Notification Devices"]}},"/v1/notifications/{notificationId}/extensions":{"get":{"summary":"List all notification extensions","operationId":"getNotificationExtensions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_notifications.extensions.get.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all extensions that have proxy routes available for notification data available to the current user. The ID of an extension is used in the proxy route to get notification information from that extension. For example, the ID of the Kontakt.io extension is `44d2902c-4344-11ec-bf8d-f70025e4774c`, so you would proxy a `floor-details` request to that extension with `/notifications/{notificiationId}/extensions/44d2902c-4344-11ec-bf8d-f70025e4774c/proxy/floor-details` (the [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through\nthe user attached to the access token, may limit the resources\nreturned).","tags":["Notification Extensions"]},"post":{"summary":"Create a notification extension","operationId":"createNotificationExtension","parameters":[{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/notifications_extensions.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notifications.extensions.get.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Notification Extensions"]}},"/v1/notifications/{notificationId}/extensions/{extensionId}":{"get":{"summary":"Get a notification extension","operationId":"getNotificationExtension","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notifications.extensions.get.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Notification Extension by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Notification Extensions"]},"put":{"summary":"Update a notification extension","operationId":"updateNotificationExtension","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/notifications_extensions.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notifications.extensions.get.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Notification Extensions"]},"delete":{"summary":"Delete a notification extension","operationId":"deleteNotificationExtension","parameters":[{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"schema":{"type":"string"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/extensions/{extensionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Notification Extensions"]}},"/v1/notifications/{notificationId}/extensions/{extensionId}/proxy":{"get":{"summary":"Make a GET request to an extension in the context of a notification","operationId":"getNotificationExtensionProxy","parameters":[{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","schema":{"type":"string"}},{"name":"extensionId","in":"path","description":"The extension id path parameter","required":true,"example":"44d2902c-4344-11ec-bf8d-f70025e4774c","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"type":"any","description":"The responses vary based on the URL you requested.","example":{"data":[{"floor":{"name":"kio floor","id":"feea0871-53cf-11ee-bc69-25cbd32fd57e"},"rooms":[{"name":"kio room","id":"fffbedaf-53cf-11ee-bc69-6b532a02fef4"}]}]}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/notifications/551de6ae-3d36-11e6-834a-3d1fcb19aadd/extensions/44d2902c-4344-11ec-bf8d-f70025e4774c/proxy/\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/notifications/551de6ae-3d36-11e6-834a-3d1fcb19aadd/extensions/44d2902c-4344-11ec-bf8d-f70025e4774c/proxy/\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/notifications/551de6ae-3d36-11e6-834a-3d1fcb19aadd/extensions/44d2902c-4344-11ec-bf8d-f70025e4774c/proxy/\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"The request parameters and responses vary based on the URL you requested.","tags":["Notification Extensions Proxy"]}},"/v1/notifications/{notificationId}/image":{"get":{"summary":"Get a notification’s image","operationId":"getNotificationImages","parameters":[{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification.image.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_notification.image.redirect.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/image\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/image\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/image\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the image, if any, that was sent with the notification, as a\nbinary stream. For improved performance, this will likely involve\nredirection (via an HTTP 302 Redirect response) to an AWS CloudFront\ncontent distribution network node which has cached the content closer\ngeographically to where the request originated than the Singlewire\nREST API servers.","tags":["Notifications"]}},"/v1/notifications/{notificationId}/recipients":{"get":{"summary":"List all notification recipients","operationId":"getNotificationRecipients","parameters":[{"name":"areaOfInterestId","in":"query","description":"The area of interest id to filter recipients on","schema":{"type":"string","format":"uuid"}},{"name":"confirmableOnly","in":"query","description":"Set to `true` to filter responses to only recipients that can respond to confirmation requests","schema":{"type":"boolean"}},{"name":"confirmationResponse","in":"query","description":"Recipient's response to the confirmation request","schema":{"type":"string"}},{"name":"dynamicReply","in":"query","description":"The dynamic reply text user received","schema":{"type":"string"}},{"name":"endpointId","in":"query","description":"Endpoint Identifier associated with recipient, if any","schema":{"type":"string","format":"uuid"},"example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa"},{"name":"includeDefunct","in":"query","description":"Set to `true` to include the `defunct` attribute in the response. Defaults to `true` if not included in request.","schema":{"type":"boolean"}},{"name":"includeDevicesSummary","in":"query","description":"Set to `true` to include device summaries for each recipient","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on notification recipient names, emails, numbers, read status, or confirmation responses","schema":{"type":"string"},"example":"John"},{"name":"read","in":"query","description":"Whether the notification has been read by this recipient","schema":{"type":"boolean"},"example":false},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"types","in":"query","description":"A comma-delimited list of user types to include, for filtering list responses","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/notifications_recipients.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/recipients\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/recipients\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/recipients\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all recipients of the specified notification. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned.)","tags":["Notification Recipients"]}},"/v1/notifications/{notificationId}/recipients/{recipientId}":{"get":{"summary":"Get a notification recipient","operationId":"getNotificationRecipient","parameters":[{"name":"includeDefunct","in":"query","description":"Set to `true` to include the `defunct` attribute in the response. Defaults to `true` if not included in request.","schema":{"type":"boolean"}},{"name":"includeDevicesSummary","in":"query","description":"Set to `true` to include device summaries for each recipient","schema":{"type":"boolean"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"recipientId","in":"path","description":"The recipient id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/notifications_recipients.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/recipients/{recipientId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/recipients/{recipientId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/notifications/{notificationId}/recipients/{recipientId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves recipient information based the `id` values of the notification and recipient. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Notification Recipients"]}},"/v1/placeholder-devices":{"get":{"summary":"List all placeholder devices","operationId":"getPlaceholderDevices","parameters":[{"name":"buildingId","in":"query","description":"The ID of the Building the Placeholder Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"facilityId","in":"query","description":"The ID of the facility this Placeholder Device belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"The ID of the Floor the Placeholder Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Placeholder Device belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the Placeholder Device","schema":{"type":"string","maximum":140},"example":"North Lobby Beacon"},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the Placeholder Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Placeholder Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"$ref":"#/components/schemas/_api-devices.pinned-location"}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"q","in":"query","description":"Perform a term (stemming) search on placeholder device names","schema":{"type":"string"},"example":"lobby beacon"},{"name":"siteId","in":"query","description":"The ID of the Site the Placeholder Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of placeholder device","schema":{"type":"string","enum":["BEACON","SUPERVISOR","GATEWAY"]}},{"name":"zoneId","in":"query","description":"The ID of the Zone the Placeholder Device is assigned to. If omitted, the server computes it from the zone whose boundary contains the pinned-location. If provided, must match that computed zone or validation fails.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/placeholder-devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Placeholder Devices"]},"post":{"summary":"Create a placeholder device","operationId":"createPlaceholderDevice","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/placeholder-devices.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/placeholder-devices.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'North Lobby Beacon',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'type': 'BEACON',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'North Lobby Beacon',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'type': 'BEACON',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"name\": \"North Lobby Beacon\",\n         \"pinnedLocation\": {\n             \"coordinates\": [\n                 -89.50275,\n                 43.114705\n             ],\n             \"type\": \"Point\"\n         },\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"type\": \"BEACON\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Placeholder Devices"]}},"/v1/placeholder-devices/{placeholderDeviceId}":{"get":{"summary":"Get a placeholder device","operationId":"getPlaceholderDevice","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Placeholder Device belongs","schema":{"type":"boolean"},"example":true},{"name":"placeholderDeviceId","in":"path","description":"The placeholder device id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/placeholder-devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Placeholder Devices"]},"put":{"summary":"Update a placeholder device","operationId":"updatePlaceholderDevice","parameters":[{"name":"placeholderDeviceId","in":"path","description":"The placeholder device id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/placeholder-devices.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/placeholder-devices.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'North Lobby Beacon',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'name': 'North Lobby Beacon',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    },\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"name\": \"North Lobby Beacon\",\n         \"pinnedLocation\": {\n             \"coordinates\": [\n                 -89.50275,\n                 43.114705\n             ],\n             \"type\": \"Point\"\n         },\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Placeholder Devices"]},"delete":{"summary":"Delete a placeholder device","operationId":"deletePlaceholderDevice","parameters":[{"name":"placeholderDeviceId","in":"path","description":"The placeholder device id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Placeholder Devices"]}},"/v1/placeholder-devices/{placeholderDeviceId}/promote":{"post":{"summary":"Create a placeholder device promote","operationId":"createPlaceholderDevicePromote","parameters":[{"name":"placeholderDeviceId","in":"path","description":"The placeholder device id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/placeholder-devices_promote.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/placeholder-devices_promote.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field deviceId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deviceId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    }\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}/promote\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}/promote\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deviceId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'pinnedLocation': {\n        'coordinates': [\n            -89.50275,\n            43.114705\n        ],\n        'type': 'Point'\n    }\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/placeholder-devices/{placeholderDeviceId}/promote\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deviceId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"pinnedLocation\": {\n             \"coordinates\": [\n                 -89.50275,\n                 43.114705\n             ],\n             \"type\": \"Point\"\n         }}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Placeholder Devices"]}},"/v1/policies":{"get":{"summary":"List all policies","operationId":"getPolicies","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this policy belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this policy belongs","schema":{"type":"boolean"},"example":true},{"name":"isShared","in":"query","description":"Denotes whether or not this policy is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/policies.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/policies\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Policies"]},"post":{"summary":"Create a policy","operationId":"createPolicy","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/policies.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/policies.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Notification Sender',\n    'permissionsSets': [\n        'fa1c0721-6bc1-11ef-a246-c706490e0002'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/policies\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Notification Sender',\n    'permissionsSets': [\n        'fa1c0721-6bc1-11ef-a246-c706490e0002'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Notification Sender\",\n         \"permissionsSets\": [\n             \"fa1c0721-6bc1-11ef-a246-c706490e0002\"\n         ]}'\n"}],"tags":["Policies"]}},"/v1/policies/{policyId}":{"get":{"summary":"Get a policy","operationId":"getPolicy","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this policy belongs","schema":{"type":"boolean"},"example":true},{"name":"policyId","in":"path","description":"The policy id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/policies.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Policies"]},"put":{"summary":"Update a policy","operationId":"updatePolicy","parameters":[{"name":"policyId","in":"path","description":"The policy id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/policies.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/policies.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Notification Sender',\n    'permissionsSets': [\n        'fa1c0721-6bc1-11ef-a246-c706490e0002'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Notification Sender',\n    'permissionsSets': [\n        'fa1c0721-6bc1-11ef-a246-c706490e0002'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Notification Sender\",\n         \"permissionsSets\": [\n             \"fa1c0721-6bc1-11ef-a246-c706490e0002\"\n         ]}'\n"}],"tags":["Policies"]},"delete":{"summary":"Delete a policy","operationId":"deletePolicy","parameters":[{"name":"policyId","in":"path","description":"The policy id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/policies/{policyId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Policies"]}},"/v1/public-applications":{"get":{"summary":"List all public applications","operationId":"getPublicApplications","parameters":[{"name":"createdAt","in":"query","description":"The time the Application was created","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the icon file in the response when available","schema":{"type":"boolean"}},{"name":"isInstalled","in":"query","description":"Include only public applications that are/aren’t installed locally","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the Application","schema":{"type":"string","maximum":140},"example":"Smoke and CO Monitoring"},{"name":"q","in":"query","description":"Perform a term (stemming) search on application name, description, and company name","schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of the Application: `GENERIC_CLIENT` and `NATIVE_CLIENT` Applications are intended for use by end users; `SERVER` Applications are intended for integration with other systems","schema":{"type":"string","enum":["GENERIC_CLIENT","NATIVE_CLIENT","SERVER"]}},{"name":"updatedAt","in":"query","description":"The last time the Application was updated","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_public-applications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all available marketplace applications.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Public Applications"]}},"/v1/public-applications/{publicApplicationId}":{"get":{"summary":"Get a public application","operationId":"getPublicApplication","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the icon file in the response when available","schema":{"type":"boolean"}},{"name":"publicApplicationId","in":"path","description":"The public application id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_public-applications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific marketplace application declaration by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Public Applications"]}},"/v1/public-applications/{publicApplicationId}/screenshots":{"get":{"summary":"List all public application screenshots","operationId":"getPublicApplicationScreenshots","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the screenshot file in the response","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"publicApplicationId","in":"path","description":"The public application id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_applications_screenshots.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}/screenshots\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}/screenshots\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}/screenshots\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all screen shots available for the specified [marketplace application](#tag--Public-Applications).","tags":["Public Applications"]}},"/v1/public-applications/{publicApplicationId}/screenshots/{screenshotId}":{"get":{"summary":"Get a public application screenshot","operationId":"getPublicApplicationScreenshot","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for the screenshot file in the response","schema":{"type":"boolean"}},{"name":"publicApplicationId","in":"path","description":"The public application id path parameter","required":true,"schema":{"type":"string"}},{"name":"screenshotId","in":"path","description":"The screenshot id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_applications_screenshots.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}/screenshots/{screenshotId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}/screenshots/{screenshotId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/public-applications/{publicApplicationId}/screenshots/{screenshotId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific marketplace application screen shot by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Public Applications"]}},"/v1/reports":{"get":{"summary":"List all reports","operationId":"getReports","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/reports.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/reports\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/reports\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/reports\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all reports available. (The permissions associated with the request, through the user attached to the access token, may limit the visibility of reports.)","tags":["Reports"]}},"/v1/reports/{reportId}":{"get":{"summary":"Get a report","operationId":"getReport","parameters":[{"name":"beginTimestamp","in":"query","description":"**Notification History Report/Confirmation Report Only** If present, only notifications which were sent at or after this time will be included.","schema":{"type":"string","format":"date-time"}},{"name":"devicesDisabled","in":"query","description":"**Users Report Only** If included only users with/without disabled devices should be returned.","schema":{"type":"boolean"}},{"name":"devicesExcluded","in":"query","description":"**Users Report Only** If included only users with/without excluded devices should be returned.","schema":{"type":"boolean"}},{"name":"devicesUnverified","in":"query","description":"**Users Report Only** If included only users with/without unverified devices should be returned.","schema":{"type":"boolean"}},{"name":"distributionListId","in":"query","description":"**Notification History Report Only** If present, only notifications that were sent to a current member of this distribution list will be returned. Only one of `distributionListId`, `securityGroupId`, and `userId` can be supplied.","schema":{"type":"string","format":"uuid"},"example":"7509efbe-d71e-11ee-960e-1fa577ed75ad"},{"name":"distributionListIds","in":"query","description":"**Users Report/Anonymous Users Report Only** Return users belonging to these distribution lists.","schema":{"type":"array","items":{"type":"string","format":"uuid"},"uniqueItems":true},"example":["6d774419-d71d-11ee-960e-ffad19d134fe"]},{"name":"endTimestamp","in":"query","description":"**Notification History Report/Confirmation Report Only** If present, only notifications which were sent before or at this time will be included.","schema":{"type":"string","format":"date-time"}},{"name":"excludeNotificationTypes","in":"query","description":"**Confirmation Report/Notification History Report Only** A comma-delimited list of notification types to exclude (determined by `initiationSourceType`).","schema":{"type":"string"}},{"name":"expires","in":"query","description":"**Expiration Report Only** If present, shows tokens that are filtered on their expiration time.","schema":{"type":"string","format":"date-time"},"example":"lt"},{"name":"facilityId","in":"query","description":"**Users Report/Anonymous Users Report/Notification History Report/Confirmation Report Only** If included only results belonging to the specified facility should be returned.","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"filterEmail","in":"query","description":"**Notification History Report Only** If `true`, only notifications which sent emails will be included.","schema":{"type":"boolean"}},{"name":"filterPhoneCall","in":"query","description":"**Notification History Report Only** If `true`, only notifications which placed phone calls will be included.","schema":{"type":"boolean"}},{"name":"filterPush","in":"query","description":"**Notification History Report Only** If `true`, only notifications which sent push notifications will be included.","schema":{"type":"boolean"}},{"name":"filterSms","in":"query","description":"**Notification History Report Only** If `true`, only notifications which sent SMS messages will be included.","schema":{"type":"boolean"}},{"name":"includeAlertBuildings","in":"query","description":"**General Counts Report Only** Whether or not to include buildings per module type in the report. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"includeEmergencyBuildings","in":"query","description":"**General Counts Report Only** Whether or not to include emergency calling buildings in the report. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"includeEndpointDevices","in":"query","description":"**General Counts Report Only** Whether or not to include endpoint devices in the report. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"includeRespondBuildings","in":"query","description":"**General Counts Report Only** Whether or not to include buildings per module type in the report. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"includeUserDevices","in":"query","description":"**General Counts Report Only** Whether or not to include user devices in the report. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"**General Counts Report Only** Whether or not to include users in the report. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"isLocked","in":"query","description":"**Users Report Only** If included only users with matching locked state should be returned.","schema":{"type":"boolean"}},{"name":"messageTemplateId","in":"query","description":"**Opted Out Report Only** Return users who have opted out from this message template.","schema":{"type":"string","format":"uuid"},"example":"d7eb4f8c-d71d-11ee-960e-d352b7b53af7"},{"name":"minuteInterval","in":"query","description":"**Notification Activity Rolling Sum Report Only** If `true`, activities will be summed at the level of minutes, otherwise they will be summed at the level of seconds.","schema":{"type":"boolean"}},{"name":"notificationId","in":"query","description":"**Notification Activity Rolling Sum Report Only** Identifies the notification whose activities you would like information about.","schema":{"type":"string","format":"uuid"},"example":"487de29d-d727-11ee-960e-354949b76da7"},{"name":"passwordResetRequired","in":"query","description":"**Users Report Only** If included only users with matching password reset state should be returned.","schema":{"type":"boolean"}},{"name":"receivedLastDays","in":"query","description":"**Users Report Only** If included only users who have received a notification in the last X days should be returned.","schema":{"type":"integer"}},{"name":"reportId","in":"path","description":"The report id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"query","description":"**Notification History Report Only** If present, only notifications that were sent by a current member of this security group will be returned. Only one of `distributionListId`, `securityGroupId`, and `userId` can be supplied.","schema":{"type":"string","format":"uuid"},"example":"a501c5fa-d726-11ee-960e-01b9e4b5b69c"},{"name":"securityGroupIds","in":"query","description":"**Users Report Only** Return users belonging to these security groups.","schema":{"type":"array","items":{"type":"string","format":"uuid"},"uniqueItems":true},"example":["82d69c2a-d71d-11ee-960e-ef4a7f9bfb5a"]},{"name":"sentLastDays","in":"query","description":"**Users Report Only** If included only users who have sent a notification in the last X days should be returned.","schema":{"type":"integer"}},{"name":"type","in":"query","description":"**Notification Activity Rolling Sum Report Only** Identifies the type of activity you are interested in.","schema":{"type":"string","enum":["set-read-status","confirmation","sms-sent","sms-received","call-placed","call-answered","sms-failed","call-failed","email-queued","email-sent","email-failed"],"example":"confirmation"},"example":"confirmation"},{"name":"userId","in":"query","description":"**Notification History Report Only** If present, only notifications that were sent to this user will be returned. Only one of `distributionListId`, `securityGroupId`, and `userId` can be supplied.","schema":{"type":"string","format":"uuid"},"example":"e22cccec-d726-11ee-960e-6d6291e02956"},{"name":"userTypes","in":"query","description":"**Users Report Only** Return users belonging to these user types.","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true},"example":["regular"]}],"responses":{"200":{"$ref":"#/components/responses/_reports.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/reports/{reportId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/reports/{reportId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/reports/{reportId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Provides information about specific parts of the system.","tags":["Reports"]}},"/v1/ring-lists":{"get":{"summary":"List all ring lists","operationId":"getRingLists","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this ring list belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this ring list belongs","schema":{"type":"boolean"},"example":true},{"name":"isShared","in":"query","description":"Denotes whether or not this ring list is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on ring list names","schema":{"type":"string"},"example":"Half"},{"name":"sort","in":"query","description":"Sorts ring lists by name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_ring-lists-response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all ring lists. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources\nreturned.)","tags":["Ring Lists"]},"post":{"summary":"Create a ring list","operationId":"createRingList","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ring-lists.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ring-lists-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'description': 'Schedule for Monday, Wednesday, and Friday',\n    'entries': [{\n            'deviceGroupIds': ['62f123c8-e0a5-11ee-9d3d-89d4670a1082'],\n            'distributionListIds': ['4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'],\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'time': '08:00:00'\n        }],\n    'isShared': true,\n    'name': 'Half Day'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'description': 'Schedule for Monday, Wednesday, and Friday',\n    'entries': [{\n            'deviceGroupIds': ['62f123c8-e0a5-11ee-9d3d-89d4670a1082'],\n            'distributionListIds': ['4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'],\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'time': '08:00:00'\n        }],\n    'isShared': True,\n    'name': 'Half Day'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"description\": \"Schedule for Monday, Wednesday, and Friday\",\n         \"entries\": [{\n                 \"deviceGroupIds\": [\"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"],\n                 \"distributionListIds\": [\"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"],\n                 \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n                 \"time\": \"08:00:00\"\n             }],\n         \"isShared\": true,\n         \"name\": \"Half Day\"}'\n"}],"description":"Creates a new ring list.","tags":["Ring Lists"]}},"/v1/ring-lists/{ringListId}":{"get":{"summary":"Get a ring list","operationId":"getRingList","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this ring list belongs","schema":{"type":"boolean"},"example":true},{"name":"ringListId","in":"path","description":"The ring list id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ring-lists-response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single ring list by `id`. Since this is not a list request, there is no pagination wrapper around the\nresult.","tags":["Ring Lists"]},"put":{"summary":"Update a ring list","operationId":"updateRingList","parameters":[{"name":"ringListId","in":"path","description":"The ring list id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ring-lists.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ring-lists-response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field createdAt is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'description': 'Schedule for Monday, Wednesday, and Friday',\n    'entries': [{\n            'deviceGroupIds': ['62f123c8-e0a5-11ee-9d3d-89d4670a1082'],\n            'distributionListIds': ['4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'],\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'time': '08:00:00'\n        }],\n    'isShared': true,\n    'name': 'Half Day'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'description': 'Schedule for Monday, Wednesday, and Friday',\n    'entries': [{\n            'deviceGroupIds': ['62f123c8-e0a5-11ee-9d3d-89d4670a1082'],\n            'distributionListIds': ['4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'],\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'time': '08:00:00'\n        }],\n    'isShared': True,\n    'name': 'Half Day'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"description\": \"Schedule for Monday, Wednesday, and Friday\",\n         \"entries\": [{\n                 \"deviceGroupIds\": [\"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"],\n                 \"distributionListIds\": [\"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"],\n                 \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n                 \"time\": \"08:00:00\"\n             }],\n         \"isShared\": true,\n         \"name\": \"Half Day\"}'\n"}],"description":"Updates an existing ring list.","tags":["Ring Lists"]},"delete":{"summary":"Delete a ring list","operationId":"deleteRingList","parameters":[{"name":"ringListId","in":"path","description":"The ring list id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Ring Lists"]}},"/v1/ring-lists/{ringListId}/bell-schedule-dependents":{"get":{"summary":"List all ring list bell schedule dependents","operationId":"getRingListBellScheduleDependents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"ringListId","in":"path","description":"The ring list id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/ring-lists_bell-schedule-dependents.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}/bell-schedule-dependents\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}/bell-schedule-dependents\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}/bell-schedule-dependents\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Ring Lists"]}},"/v1/ring-lists/{ringListId}/clone":{"post":{"summary":"Clone a ring list","operationId":"createRingListClone","parameters":[{"name":"ringListId","in":"path","description":"The ring list id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ring-lists_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_ring-lists_clone.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Half Day (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Half Day (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/ring-lists/{ringListId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Half Day (Copy)\"}'\n"}],"description":"Creates a copy of the specified Ring List. The name of the\nnew copy is simply the original Ring List's name with \" (Copy)\"\nappended. In order to perform this operation, the user must have both\n`POST` permission to the `/ring-lists` resource and `GET` permission\nto the Ring List they wish to copy.","tags":["Ring Lists"]}},"/v1/rule-actions":{"get":{"summary":"List all rule actions","operationId":"getRuleActions","parameters":[{"name":"actionType","in":"query","description":"Filter on action type","schema":{"type":"string"}},{"name":"includeMatchingResources","in":"query","description":"Whether to include resources the Rule Action matches on by ID","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on rule action names","schema":{"type":"string"},"example":"Test"},{"name":"ruleSourceType","in":"query","description":"Filter on rule source type","schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/rule-actions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/rule-actions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/rule-actions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/rule-actions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all rule actions. The visibility of rule actions may be limited by the permissions associated with the request, which are attributed through the user attached to the access token.","tags":["Rule Actions"]}},"/v1/rule-actions/{ruleActionId}":{"get":{"summary":"Get a rule action","operationId":"getRuleAction","parameters":[{"name":"includeMatchingResources","in":"query","description":"Whether to include resources the Rule Action matches on by ID","schema":{"type":"boolean"}},{"name":"ruleActionId","in":"path","description":"The rule action id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rule-actions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/rule-actions/{ruleActionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/rule-actions/{ruleActionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/rule-actions/{ruleActionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single rule action by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Rule Actions"]}},"/v1/scenario-notifications":{"get":{"summary":"List all scenario notifications","operationId":"getScenarioNotifications","parameters":[{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for floor plan images in the response when available.","schema":{"type":"boolean"}},{"name":"includeFloorPlanWithBoundary","in":"query","description":"If the scenario was initiated using a floor (and optionally zone) that has a floor\n                                      plan image and boundary, a copy of the image is drawn with the boundary drawn on it.\n                                      If this param is true, this image is included in the response. Defaults to false.\n                                      Will include a CloudFront URL if includeBinaryUrls param is also true.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"},"example":false},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"scenarioId","in":"query","description":"ID of the Scenario","schema":{"type":"string","format":"uuid"},"example":"13242a86-7288-11ee-9ca9-cd3db9d6b864"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_scenario-notifications.base"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all scenario notifications that have been sent.","tags":["Scenario Notifications"]},"post":{"summary":"Send a scenario notification","operationId":"createScenarioNotification","parameters":[{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for floor plan images in the response when available.","schema":{"type":"boolean"}},{"name":"includeFloorPlanWithBoundary","in":"query","description":"If the scenario was initiated using a floor (and optionally zone) that has a floor\n                                      plan image and boundary, a copy of the image is drawn with the boundary drawn on it.\n                                      If this param is true, this image is included in the response. Defaults to false.\n                                      Will include a CloudFront URL if includeBinaryUrls param is also true.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"},"example":false}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scenario-notifications.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_scenario-notifications.base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field scenarioId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'fields': [{\n            'answer': 'Yes, everyone is safe',\n            'fieldId': 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'\n        }],\n    'initiationDevice': '{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}',\n    'location': {\n        'building': {\n            'id': 'b321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Nougat Processing'\n        },\n        'floor': {\n            'id': '4321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Basement'\n        },\n        'site': {\n            'id': '58fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Chocolate Factory'\n        },\n        'zone': {\n            'id': '38fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Taste Testing Room'\n        }\n    },\n    'locationResolutionStrategy': [\n        'device',\n        'location'\n    ],\n    'messages': [{\n            'areaOfInterestIds': ['8145ebd1-7a8b-11ee-bc97-098b09a637c2'],\n            'collaborationGroupIds': ['1c56a19f-e312-11ee-a1b7-8bc08a664524'],\n            'deviceGroupIds': ['62f123c8-e0a5-11ee-9d3d-89d4670a1082'],\n            'distributionListIds': ['4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'],\n            'messageId': '00a6d486-e30c-11ee-a1b7-fdb9ccc2b4c4',\n            'userIds': ['ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0']\n        }],\n    'scenarioId': '13242a86-7288-11ee-9ca9-cd3db9d6b864'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'fields': [{\n            'answer': 'Yes, everyone is safe',\n            'fieldId': 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'\n        }],\n    'initiationDevice': '{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}',\n    'location': {\n        'building': {\n            'id': 'b321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Nougat Processing'\n        },\n        'floor': {\n            'id': '4321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Basement'\n        },\n        'site': {\n            'id': '58fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Chocolate Factory'\n        },\n        'zone': {\n            'id': '38fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Taste Testing Room'\n        }\n    },\n    'locationResolutionStrategy': [\n        'device',\n        'location'\n    ],\n    'messages': [{\n            'areaOfInterestIds': ['8145ebd1-7a8b-11ee-bc97-098b09a637c2'],\n            'collaborationGroupIds': ['1c56a19f-e312-11ee-a1b7-8bc08a664524'],\n            'deviceGroupIds': ['62f123c8-e0a5-11ee-9d3d-89d4670a1082'],\n            'distributionListIds': ['4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'],\n            'messageId': '00a6d486-e30c-11ee-a1b7-fdb9ccc2b4c4',\n            'userIds': ['ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0']\n        }],\n    'scenarioId': '13242a86-7288-11ee-9ca9-cd3db9d6b864'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"fields\": [{\n                 \"answer\": \"Yes, everyone is safe\",\n                 \"fieldId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n             }],\n         \"initiationDevice\": \"{\\\"lookupValue\\\":\\\"vape-123\\\",\\\"type\\\":\\\"api-device\\\"}\",\n         \"location\": {\n             \"building\": {\n                 \"id\": \"b321c52b-064b-11ea-9265-f333e562b36b\",\n                 \"name\": \"Nougat Processing\"\n             },\n             \"floor\": {\n                 \"id\": \"4321c52b-064b-11ea-9265-f333e562b36b\",\n                 \"name\": \"Basement\"\n             },\n             \"site\": {\n                 \"id\": \"58fa0f0c-39fc-11e9-8c83-c128c081826b\",\n                 \"name\": \"Chocolate Factory\"\n             },\n             \"zone\": {\n                 \"id\": \"38fa0f0c-39fc-11e9-8c83-c128c081826b\",\n                 \"name\": \"Taste Testing Room\"\n             }\n         },\n         \"locationResolutionStrategy\": [\n             \"device\",\n             \"location\"\n         ],\n         \"messages\": [{\n                 \"areaOfInterestIds\": [\"8145ebd1-7a8b-11ee-bc97-098b09a637c2\"],\n                 \"collaborationGroupIds\": [\"1c56a19f-e312-11ee-a1b7-8bc08a664524\"],\n                 \"deviceGroupIds\": [\"62f123c8-e0a5-11ee-9d3d-89d4670a1082\"],\n                 \"distributionListIds\": [\"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"],\n                 \"messageId\": \"00a6d486-e30c-11ee-a1b7-fdb9ccc2b4c4\",\n                 \"userIds\": [\"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"]\n             }],\n         \"scenarioId\": \"13242a86-7288-11ee-9ca9-cd3db9d6b864\"}'\n"}],"description":"Send a new scenario notification\n\nTo retry a send safely, include an `Idempotency-Key` header. See\n[Idempotent Requests](#idempotent-requests).","tags":["Scenario Notifications"]}},"/v1/scenario-notifications/{scenarioNotificationId}":{"get":{"summary":"Get a scenario notification","operationId":"getScenarioNotification","parameters":[{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for floor plan images in the response when available.","schema":{"type":"boolean"}},{"name":"includeFloorPlanWithBoundary","in":"query","description":"If the scenario was initiated using a floor (and optionally zone) that has a floor\n                                      plan image and boundary, a copy of the image is drawn with the boundary drawn on it.\n                                      If this param is true, this image is included in the response. Defaults to false.\n                                      Will include a CloudFront URL if includeBinaryUrls param is also true.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"},"example":false},{"name":"scenarioNotificationId","in":"path","description":"The scenario notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_scenario-notifications.base"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications/{scenarioNotificationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications/{scenarioNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenario-notifications/{scenarioNotificationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single scenario notification by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Scenario Notifications"]}},"/v1/scenarios":{"get":{"summary":"List all scenarios","operationId":"getScenarios","parameters":[{"name":"description","in":"query","description":"An optional description for the scenario.","schema":{"type":"string","maximum":140},"example":"A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates."},{"name":"emergency","in":"query","description":"Indicates that emergency services should be contacted when this scenario is sent (The emergency calling feature must be enabled for your organization before you can send a `true` value here)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"eventType","in":"query","description":"The type of scenario triggered events","schema":{"type":"string","enum":["none","zoom-emergency-call","red-button-click","blue-button-click","emergency","help-needed"]}},{"name":"facilityId","in":"query","description":"The ID of the facility this scenario belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this scenario belongs","schema":{"type":"boolean"},"example":true},{"name":"isShared","in":"query","description":"Denotes whether or not this scenario is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The scenario’s unique name","schema":{"type":"string","maximum":70},"example":"Chemical Spill"},{"name":"q","in":"query","description":"Perform a term (stemming) search on scenario names","schema":{"type":"string"},"example":"Chemical"},{"name":"secret","in":"query","description":"Generated Secret to include in Scenario Launcher initiation URL for a Cisco panic button scenario","schema":{"type":"string"}},{"name":"simulatedAnswers","in":"query","description":"A client can optionally supply simulated answers query param which will return a simulatedResponse key in the response, not recommended on POST","schema":{"type":"string","format":"json"}},{"name":"sort","in":"query","description":"Sorts scenarios by name.","schema":{"type":"string"},"example":"name"},{"name":"source","in":"query","description":"The source of the scenario<br>_Specifying value 'kontaktio-wearable-panic-button' requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"string","enum":["custom","cisco-enterprise","poly-ucs","webex-calling","zoom","kontaktio-wearable-panic-button"]}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of the scenario, either `standard`, `panic-button`, or `integration`<br>_Specifying value 'standard' requires 'Reach'._<br>_Specifying value 'panic-button' requires 'Respond'._<br>_Specifying value 'integration' requires 'Reach'._<br>_Specifying value 'singlewire-wearable-panic-button' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"string","maximum":10000},"example":"standard"},{"name":"winHotkeys","in":"query","description":"Windows Hotkey combination","schema":{"type":"string","maximum":10000}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_scenarios.response-base"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all scenarios available to the current user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. Controlling access to scenarios allows administrators to decide which users can send or configure scenarios.)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scenarios"]},"post":{"summary":"Create a scenario","operationId":"createScenario","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scenarios.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_scenarios.response-base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'backgroundColor': '#33AA55',\n    'description': 'A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.',\n    'fields': [{\n            'name': 'Is everyone ok?',\n            'rank': 1,\n            'type': 'text',\n            'variable': 'fieldVar1'\n        }],\n    'icon': 'flash',\n    'instructions': {},\n    'isShared': true,\n    'locationEnabled': false,\n    'messages': [{\n            'confirmationRequestId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'name': 'Live fire'\n        }],\n    'name': 'Chemical Spill',\n    'type': 'standard'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'backgroundColor': '#33AA55',\n    'description': 'A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.',\n    'fields': [{\n            'name': 'Is everyone ok?',\n            'rank': 1,\n            'type': 'text',\n            'variable': 'fieldVar1'\n        }],\n    'icon': 'flash',\n    'instructions': {},\n    'isShared': True,\n    'locationEnabled': False,\n    'messages': [{\n            'confirmationRequestId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'name': 'Live fire'\n        }],\n    'name': 'Chemical Spill',\n    'type': 'standard'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"backgroundColor\": \"#33AA55\",\n         \"description\": \"A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.\",\n         \"fields\": [{\n                 \"name\": \"Is everyone ok?\",\n                 \"rank\": 1,\n                 \"type\": \"text\",\n                 \"variable\": \"fieldVar1\"\n             }],\n         \"icon\": \"flash\",\n         \"instructions\": {},\n         \"isShared\": true,\n         \"locationEnabled\": false,\n         \"messages\": [{\n                 \"confirmationRequestId\": \"80a5b997-e0b9-11ee-80c3-b5928b1c397d\",\n                 \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n                 \"name\": \"Live fire\"\n             }],\n         \"name\": \"Chemical Spill\",\n         \"type\": \"standard\"}'\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scenarios"]}},"/v1/scenarios/{scenarioId}":{"get":{"summary":"Get or simulate a scenario","operationId":"getScenario","parameters":[{"name":"checkPanicRange","in":"query","description":"A client can optionally supply a query param containing a latitude and longitude which, if this is an emergency scenario, will return a withinPanicRange indicating whether there is an emergency building within a mile, so emergency services can be automatically contacted, and will echo the value back as positionkey in the response","schema":{"type":"string","format":"json"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this scenario belongs","schema":{"type":"boolean"},"example":true},{"name":"location","in":"query","description":"A client can optionally supply a location object used for simulating scenario notifications described [here](#tag--Scenarios)","schema":{"type":"string","format":"json"}},{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}},{"name":"simulatedAnswers","in":"query","description":"A client can optionally supply simulated answers query param which will return a simulatedResponse key in the response, not recommended on POST","schema":{"type":"string","format":"json"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_scenarios.response-base"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single scenario by `id`. Since this is not a list request, there is no pagination wrapper around the result.\n\n## Simulate Answers\nIt is also possible to Simulate Answers by passing query parameters\n`simulatedAnswers` and optionally `location` (if the scenario is\nlocation-enabled). This will build a simulated scenario which has the\ncontents of all scenario messages that would be sent if the\nscenario is sent with those answers and location choices. This is\nuseful for previewing [Scenario Notifications](#tag--Scenario-Notifications), since it will interpolate\nvariables from questions and location and join the recipients from\nsites/site roles and message templates.\n\nIf the scenario is an emergency scenario, it is also possible when\nsimulating answers to pass the query parameter `checkPanicRange` to\ntest whether a particular latitude and longitude is within a mile from\nany emergency building. Such a query will return a `withinPanicRange`\nboolean attribute in the response, indicating whether launching an\nemergency mobile panic button scenario from that location will\nautomatically contact emergency services. The value sent as\n`checkPanicRange` will also be returned as `position`.\n\n### Request Parameters\n\n| Parameter            | Type          | Description                                                                                                                                                                                                                                             |\n|----------------------|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | check&shy;PanicRange | Object        | If the scenario is an emergency scenario, this can hold an object in the format `{\"latitude\": Number, \"longitude\": Number}` to check whether a mobile panic button launched from that geographic position can automatically contact emergency services. |\n| location             | Object        | If the scenario is location-enabled, a [Location Object](#tag--Scenarios) that specifies the site, building, floor, and/or zone to associate with the scenario.                                                                                        |\n| simulatedAnswers     | Array[Object] | An array of objects in the format `{\"fieldId\": UUID, \"answer\": String}`. These are the answers to any questions attached to the scenario.                                                                                                               |<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scenarios"]},"put":{"summary":"Update a scenario","operationId":"updateScenario","parameters":[{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scenarios.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_scenarios.response-base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'backgroundColor': '#33AA55',\n    'description': 'A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.',\n    'fields': [{\n            'name': 'Is everyone ok?',\n            'rank': 1,\n            'type': 'text',\n            'variable': 'fieldVar1'\n        }],\n    'icon': 'flash',\n    'instructions': {},\n    'isShared': true,\n    'locationEnabled': false,\n    'messages': [{\n            'confirmationRequestId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'name': 'Live fire'\n        }],\n    'name': 'Chemical Spill'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'backgroundColor': '#33AA55',\n    'description': 'A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.',\n    'fields': [{\n            'name': 'Is everyone ok?',\n            'rank': 1,\n            'type': 'text',\n            'variable': 'fieldVar1'\n        }],\n    'icon': 'flash',\n    'instructions': {},\n    'isShared': True,\n    'locationEnabled': False,\n    'messages': [{\n            'confirmationRequestId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n            'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n            'name': 'Live fire'\n        }],\n    'name': 'Chemical Spill'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"backgroundColor\": \"#33AA55\",\n         \"description\": \"A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.\",\n         \"fields\": [{\n                 \"name\": \"Is everyone ok?\",\n                 \"rank\": 1,\n                 \"type\": \"text\",\n                 \"variable\": \"fieldVar1\"\n             }],\n         \"icon\": \"flash\",\n         \"instructions\": {},\n         \"isShared\": true,\n         \"locationEnabled\": false,\n         \"messages\": [{\n                 \"confirmationRequestId\": \"80a5b997-e0b9-11ee-80c3-b5928b1c397d\",\n                 \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n                 \"name\": \"Live fire\"\n             }],\n         \"name\": \"Chemical Spill\"}'\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scenarios"]},"delete":{"summary":"Delete a scenario","operationId":"deleteScenario","parameters":[{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scenarios"]}},"/v1/scenarios/{scenarioId}/clone":{"post":{"summary":"Clone a scenario","operationId":"createScenarioClone","parameters":[{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scenarios_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_scenarios_clone.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Chemical Spill (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Chemical Spill (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Chemical Spill (Copy)\"}'\n"}],"description":"Creates a copy of the specified Scenario. The name of the new copy is simply the original Scenario’s name with “ (Copy)” appended. In order to perform this operation, the user must have both `POST` permission to the `/scenarios` resource and `GET` permission to the Scenario they wish to copy.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scenarios"]}},"/v1/scenarios/{scenarioId}/rule-actions":{"get":{"summary":"List all scenario rule actions","operationId":"getScenarioRuleActions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/scenarios_rule-actions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all rule actions that are associated with the given scenario. The visibility of rule actions may be limited by the permissions associated with the request, which are attributed through the user attached to the access token.","tags":["Scenario Rule Actions"]},"post":{"summary":"Create a scenario rule action","operationId":"createScenarioRuleAction","parameters":[{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scenarios_rule-actions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scenarios_rule-actions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field action is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'action': {\n        'webhook': {\n            'authorization': {\n                'request': {\n                    'body': [{\n                            'encryption': 'none',\n                            'key': 'auth-body-key',\n                            'value': '{{scenarioNotification.location.building.addressLine1}}'\n                        }],\n                    'headers': [{\n                            'encryption': 'none',\n                            'key': 'content-type',\n                            'value': 'application/json'\n                        }],\n                    'queryParams': [{\n                            'encryption': 'none',\n                            'key': 'force',\n                            'value': 'true'\n                        }],\n                    'url': 'https://example.com/'\n                },\n                'scope': 'code'\n            },\n            'body': {\n                'value': '{\"key\": \"value\"}'\n            },\n            'expireAfter': 90,\n            'headers': [{\n                    'description': 'The custom header',\n                    'key': 'X-Custom-Header'\n                }],\n            'method': 'POST',\n            'queryParams': [{\n                    'description': 'A query param',\n                    'encryption': 'none',\n                    'key': 'id',\n                    'value': '{{scenarioNotification.id}}'\n                }],\n            'url': 'https://singlewire.com'\n        }\n    },\n    'description': 'A rule action for testing.',\n    'name': 'For-Testing'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'action': {\n        'webhook': {\n            'authorization': {\n                'request': {\n                    'body': [{\n                            'encryption': 'none',\n                            'key': 'auth-body-key',\n                            'value': '{{scenarioNotification.location.building.addressLine1}}'\n                        }],\n                    'headers': [{\n                            'encryption': 'none',\n                            'key': 'content-type',\n                            'value': 'application/json'\n                        }],\n                    'queryParams': [{\n                            'encryption': 'none',\n                            'key': 'force',\n                            'value': 'true'\n                        }],\n                    'url': 'https://example.com/'\n                },\n                'scope': 'code'\n            },\n            'body': {\n                'value': '{\"key\": \"value\"}'\n            },\n            'expireAfter': 90,\n            'headers': [{\n                    'description': 'The custom header',\n                    'key': 'X-Custom-Header'\n                }],\n            'method': 'POST',\n            'queryParams': [{\n                    'description': 'A query param',\n                    'encryption': 'none',\n                    'key': 'id',\n                    'value': '{{scenarioNotification.id}}'\n                }],\n            'url': 'https://singlewire.com'\n        }\n    },\n    'description': 'A rule action for testing.',\n    'name': 'For-Testing'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"action\": {\n             \"webhook\": {\n                 \"authorization\": {\n                     \"request\": {\n                         \"body\": [{\n                                 \"encryption\": \"none\",\n                                 \"key\": \"auth-body-key\",\n                                 \"value\": \"{{scenarioNotification.location.building.addressLine1}}\"\n                             }],\n                         \"headers\": [{\n                                 \"encryption\": \"none\",\n                                 \"key\": \"content-type\",\n                                 \"value\": \"application/json\"\n                             }],\n                         \"queryParams\": [{\n                                 \"encryption\": \"none\",\n                                 \"key\": \"force\",\n                                 \"value\": \"true\"\n                             }],\n                         \"url\": \"https://example.com/\"\n                     },\n                     \"scope\": \"code\"\n                 },\n                 \"body\": {\n                     \"value\": \"{\\\"key\\\": \\\"value\\\"}\"\n                 },\n                 \"expireAfter\": 90,\n                 \"headers\": [{\n                         \"description\": \"The custom header\",\n                         \"key\": \"X-Custom-Header\"\n                     }],\n                 \"method\": \"POST\",\n                 \"queryParams\": [{\n                         \"description\": \"A query param\",\n                         \"encryption\": \"none\",\n                         \"key\": \"id\",\n                         \"value\": \"{{scenarioNotification.id}}\"\n                     }],\n                 \"url\": \"https://singlewire.com\"\n             }\n         },\n         \"description\": \"A rule action for testing.\",\n         \"name\": \"For-Testing\"}'\n"}],"description":"Creates a new scenario rule action.","tags":["Scenario Rule Actions"]}},"/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}":{"get":{"summary":"Get a scenario rule action","operationId":"getScenarioRuleAction","parameters":[{"name":"ruleActionId","in":"path","description":"The rule action id path parameter","required":true,"schema":{"type":"string"}},{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scenarios_rule-actions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single scenario rule action by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Scenario Rule Actions"]},"put":{"summary":"Update a scenario rule action","operationId":"updateScenarioRuleAction","parameters":[{"name":"ruleActionId","in":"path","description":"The rule action id path parameter","required":true,"schema":{"type":"string"}},{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scenarios_rule-actions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scenarios_rule-actions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'action': {\n        'webhook': {\n            'authorization': {\n                'request': {\n                    'body': [{\n                            'encryption': 'none',\n                            'key': 'auth-body-key',\n                            'value': '{{scenarioNotification.location.building.addressLine1}}'\n                        }],\n                    'headers': [{\n                            'encryption': 'none',\n                            'key': 'content-type',\n                            'value': 'application/json'\n                        }],\n                    'queryParams': [{\n                            'encryption': 'none',\n                            'key': 'force',\n                            'value': 'true'\n                        }],\n                    'url': 'https://example.com/'\n                },\n                'scope': 'code'\n            },\n            'body': {\n                'value': '{\"key\": \"value\"}'\n            },\n            'expireAfter': 90,\n            'headers': [{\n                    'description': 'The custom header',\n                    'key': 'X-Custom-Header'\n                }],\n            'method': 'POST',\n            'queryParams': [{\n                    'description': 'A query param',\n                    'encryption': 'none',\n                    'key': 'id',\n                    'value': '{{scenarioNotification.id}}'\n                }],\n            'url': 'https://singlewire.com'\n        }\n    },\n    'description': 'A rule action for testing.',\n    'name': 'For-Testing'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'action': {\n        'webhook': {\n            'authorization': {\n                'request': {\n                    'body': [{\n                            'encryption': 'none',\n                            'key': 'auth-body-key',\n                            'value': '{{scenarioNotification.location.building.addressLine1}}'\n                        }],\n                    'headers': [{\n                            'encryption': 'none',\n                            'key': 'content-type',\n                            'value': 'application/json'\n                        }],\n                    'queryParams': [{\n                            'encryption': 'none',\n                            'key': 'force',\n                            'value': 'true'\n                        }],\n                    'url': 'https://example.com/'\n                },\n                'scope': 'code'\n            },\n            'body': {\n                'value': '{\"key\": \"value\"}'\n            },\n            'expireAfter': 90,\n            'headers': [{\n                    'description': 'The custom header',\n                    'key': 'X-Custom-Header'\n                }],\n            'method': 'POST',\n            'queryParams': [{\n                    'description': 'A query param',\n                    'encryption': 'none',\n                    'key': 'id',\n                    'value': '{{scenarioNotification.id}}'\n                }],\n            'url': 'https://singlewire.com'\n        }\n    },\n    'description': 'A rule action for testing.',\n    'name': 'For-Testing'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"action\": {\n             \"webhook\": {\n                 \"authorization\": {\n                     \"request\": {\n                         \"body\": [{\n                                 \"encryption\": \"none\",\n                                 \"key\": \"auth-body-key\",\n                                 \"value\": \"{{scenarioNotification.location.building.addressLine1}}\"\n                             }],\n                         \"headers\": [{\n                                 \"encryption\": \"none\",\n                                 \"key\": \"content-type\",\n                                 \"value\": \"application/json\"\n                             }],\n                         \"queryParams\": [{\n                                 \"encryption\": \"none\",\n                                 \"key\": \"force\",\n                                 \"value\": \"true\"\n                             }],\n                         \"url\": \"https://example.com/\"\n                     },\n                     \"scope\": \"code\"\n                 },\n                 \"body\": {\n                     \"value\": \"{\\\"key\\\": \\\"value\\\"}\"\n                 },\n                 \"expireAfter\": 90,\n                 \"headers\": [{\n                         \"description\": \"The custom header\",\n                         \"key\": \"X-Custom-Header\"\n                     }],\n                 \"method\": \"POST\",\n                 \"queryParams\": [{\n                         \"description\": \"A query param\",\n                         \"encryption\": \"none\",\n                         \"key\": \"id\",\n                         \"value\": \"{{scenarioNotification.id}}\"\n                     }],\n                 \"url\": \"https://singlewire.com\"\n             }\n         },\n         \"description\": \"A rule action for testing.\",\n         \"name\": \"For-Testing\"}'\n"}],"description":"Update an existing scenario rule action.","tags":["Scenario Rule Actions"]},"delete":{"summary":"Delete a scenario rule action","operationId":"deleteScenarioRuleAction","parameters":[{"name":"ruleActionId","in":"path","description":"The rule action id path parameter","required":true,"schema":{"type":"string"}},{"name":"scenarioId","in":"path","description":"The scenario id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scenarios/{scenarioId}/rule-actions/{ruleActionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Scenario Rule Actions"]}},"/v1/scheduled-notifications":{"get":{"summary":"List all scheduled notifications","operationId":"getScheduledNotifications","parameters":[{"name":"createdAt","in":"query","description":"The time the resource was created","schema":{"type":"string","format":"date-time"}},{"name":"facilityId","in":"query","description":"The ID of the facility this scheduled notification belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this scheduled notification belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"query","description":"The ID of the message template to use when this schedule is fired","schema":{"type":"string","format":"uuid"},"example":"d2d02884-7ceb-11ee-9061-050e02dd61f4"},{"name":"q","in":"query","description":"Perform a term (stemming) search on scheduled notification names","schema":{"type":"string"},"example":"Monthly tornado test"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/scheduled-notifications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all scheduled notifications (the [User Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scheduled Notifications"]},"post":{"summary":"Create a scheduled notification","operationId":"createScheduledNotification","parameters":[{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scheduled-notifications.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scheduled-notifications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deviceGroupIds': [\n        'b1394e9e-becd-11ee-9ee1-85f73ec2ad1d'\n    ],\n    'disabled': false,\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Monthly tornado test',\n    'nextFireTime': '2036-04-09T13:30:00.000Z',\n    'schedule': '0 0/1 * 1/1 * ? *',\n    'timeZone': 'America/Chicago'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deviceGroupIds': [\n        'b1394e9e-becd-11ee-9ee1-85f73ec2ad1d'\n    ],\n    'disabled': False,\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Monthly tornado test',\n    'nextFireTime': '2036-04-09T13:30:00.000Z',\n    'schedule': '0 0/1 * 1/1 * ? *',\n    'timeZone': 'America/Chicago'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deviceGroupIds\": [\n             \"b1394e9e-becd-11ee-9ee1-85f73ec2ad1d\"\n         ],\n         \"disabled\": false,\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Monthly tornado test\",\n         \"nextFireTime\": \"2036-04-09T13:30:00.000Z\",\n         \"schedule\": \"0 0/1 * 1/1 * ? *\",\n         \"timeZone\": \"America/Chicago\"}'\n"}],"description":"Creates a new scheduled notification (limit: 3500). Once the schedule is created, it should begin firing at the time returned in the `nextFireTime` response property.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scheduled Notifications"]}},"/v1/scheduled-notifications/{scheduledNotificationId}":{"get":{"summary":"Get a scheduled notification","operationId":"getScheduledNotification","parameters":[{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this scheduled notification belongs","schema":{"type":"boolean"},"example":true},{"name":"scheduledNotificationId","in":"path","description":"The scheduled notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scheduled-notifications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single scheduled notification by its `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scheduled Notifications"]},"put":{"summary":"Update a scheduled notification","operationId":"updateScheduledNotification","parameters":[{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"scheduledNotificationId","in":"path","description":"The scheduled notification id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scheduled-notifications.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/scheduled-notifications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deviceGroupIds': [\n        'b1394e9e-becd-11ee-9ee1-85f73ec2ad1d'\n    ],\n    'disabled': false,\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Monthly tornado test',\n    'schedule': '0 0/1 * 1/1 * ? *',\n    'timeZone': 'America/Chicago'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deviceGroupIds': [\n        'b1394e9e-becd-11ee-9ee1-85f73ec2ad1d'\n    ],\n    'disabled': False,\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Monthly tornado test',\n    'schedule': '0 0/1 * 1/1 * ? *',\n    'timeZone': 'America/Chicago'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deviceGroupIds\": [\n             \"b1394e9e-becd-11ee-9ee1-85f73ec2ad1d\"\n         ],\n         \"disabled\": false,\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Monthly tornado test\",\n         \"schedule\": \"0 0/1 * 1/1 * ? *\",\n         \"timeZone\": \"America/Chicago\"}'\n"}],"description":"Updates an existing scheduled notification’s `name`.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scheduled Notifications"]},"delete":{"summary":"Delete a scheduled notification","operationId":"deleteScheduledNotification","parameters":[{"name":"scheduledNotificationId","in":"path","description":"The scheduled notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Scheduled Notifications"]}},"/v1/scheduled-notifications/{scheduledNotificationId}/clone":{"post":{"summary":"Clone a scheduled notification","operationId":"createScheduledNotificationClone","parameters":[{"name":"scheduledNotificationId","in":"path","description":"The scheduled notification id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/scheduled-notifications_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_scheduled-notifications_clone.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Monthly tornado test (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Monthly tornado test (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/scheduled-notifications/{scheduledNotificationId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Monthly tornado test (Copy)\"}'\n"}],"description":"Creates a copy of the [Scheduled Notification](#tag--Scheduled-Notifications) specified by the `id` in the request path. The name of the new copy is simply the original scheduled notification’s name with “ (Copy)” appended. In order to perform this operation, the user must have both `POST` permission to the `/scheduled-notifications` resource and `GET` permission to the Scheduled Notification they wish to copy.","tags":["Scheduled Notifications"]}},"/v1/security-groups":{"get":{"summary":"List all security groups","operationId":"getSecurityGroups","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this security group belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this security group belongs","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/security-groups.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all Security Groups. (The\n[User Permissions](#tag--User-Permissions) and [User Security Groups](#tag--User-Security-Groups)\nassociated with the request, through the User attached to the access\ntoken, may limit the resources returned. Generally only administrative\nusers will be able to manipulate Security Groups.)","tags":["Security Groups"]},"post":{"summary":"Create a security group","operationId":"createSecurityGroup","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Body Guards',\n    'superGroup': false\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Body Guards',\n    'superGroup': False\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Body Guards\",\n         \"superGroup\": false}'\n"}],"description":"Creates a new Security Group. Once the group is created, [Security Group Permissions](#tag--Security-Group-Permissions) will need to be assigned to it, and then [Security Group Members](#tag--Security-Group-Members).\n\n> ⚠️ Although you can pass a value for the `superGroup` parameter, unless the user is\n> a member of a super group that applies in the current facility, passing a `true` value\n> will cause the request to fail validation","tags":["Security Groups"]}},"/v1/security-groups/{securityGroupId}":{"get":{"summary":"Get a security group","operationId":"getSecurityGroup","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this security group belongs","schema":{"type":"boolean"},"example":true},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Security Group by its `id`. Since this is not a list request,\nthere is no pagination wrapper around the result.","tags":["Security Groups"]},"put":{"summary":"Update a security group","operationId":"updateSecurityGroup","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Body Guards',\n    'superGroup': false\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Body Guards',\n    'superGroup': False\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Body Guards\",\n         \"superGroup\": false}'\n"}],"description":"Updates an existing Security Group's `name`.\n\n> ⚠️ Although you can pass a value for the `superGroup` parameter, unless the user is\n> a member of a super group that applies in the current facility, passing a `true` value\n> will cause the request to fail validation","tags":["Security Groups"]},"delete":{"summary":"Delete a security group","operationId":"deleteSecurityGroup","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing Security Group.\n\n> ⚠️ You cannot delete the sole super group. When acting in facilities, you cannot delete\n> the last super group that applies to you in your acting facility.","tags":["Security Groups"]}},"/v1/security-groups/{securityGroupId}/allowed-message-templates":{"get":{"summary":"List all security group allowed message templates","operationId":"getSecurityGroupAllowedMessageTemplates","parameters":[{"name":"facilityId","in":"query","description":"The ID of facility of Message Templates the Security Group allows access to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeAllowedResources","in":"query","description":"Whether to include associated Message Templates in the response.","schema":{"type":"boolean"}},{"name":"isShared","in":"query","description":"Denotes whether or not Message Templates the Security Group allows access to is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/security-groups_allowed-message-templates.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Security Group Allowed Message Templates"]},"post":{"summary":"Create a security group allowed message template","operationId":"createSecurityGroupAllowedMessageTemplate","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_allowed-message-templates.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_allowed-message-templates.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field facilityId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'id': '[\"28a92caf-3d37-11e6-834a-431f5104df9d\"]'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'id': '[\"28a92caf-3d37-11e6-834a-431f5104df9d\"]'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"id\": \"[\\\"28a92caf-3d37-11e6-834a-431f5104df9d\\\"]\"}'\n"}],"tags":["Security Group Allowed Message Templates"]}},"/v1/security-groups/{securityGroupId}/allowed-message-templates/{allowedMessageTemplateId}":{"get":{"summary":"Get a security group allowed message template","operationId":"getSecurityGroupAllowedMessageTemplate","parameters":[{"name":"allowedMessageTemplateId","in":"path","description":"The allowed message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAllowedResources","in":"query","description":"Whether to include associated Message Templates in the response.","schema":{"type":"boolean"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_allowed-message-templates.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates/{allowedMessageTemplateId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates/{allowedMessageTemplateId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates/{allowedMessageTemplateId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Security Group Allowed Message Templates"]},"delete":{"summary":"Delete a security group allowed message template","operationId":"deleteSecurityGroupAllowedMessageTemplate","parameters":[{"name":"allowedMessageTemplateId","in":"path","description":"The allowed message template id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates/{allowedMessageTemplateId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates/{allowedMessageTemplateId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-message-templates/{allowedMessageTemplateId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Security Group Allowed Message Templates"]}},"/v1/security-groups/{securityGroupId}/allowed-scenarios":{"get":{"summary":"List all security group allowed scenarios","operationId":"getSecurityGroupAllowedScenarios","parameters":[{"name":"facilityId","in":"query","description":"The ID of facility of Scenarios the Security Group allows access to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeAllowedResources","in":"query","description":"Whether to include associated Scenarios in the response.","schema":{"type":"boolean"}},{"name":"isShared","in":"query","description":"Denotes whether or not Scenarios the Security Group allows access to is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/security-groups_allowed-scenarios.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Security Group Allowed Scenarios"]},"post":{"summary":"Create a security group allowed scenario","operationId":"createSecurityGroupAllowedScenario","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_allowed-scenarios.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_allowed-scenarios.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field facilityId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'id': '[\"28a92caf-3d37-11e6-834a-431f5104df9d\"]'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'id': '[\"28a92caf-3d37-11e6-834a-431f5104df9d\"]'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"id\": \"[\\\"28a92caf-3d37-11e6-834a-431f5104df9d\\\"]\"}'\n"}],"tags":["Security Group Allowed Scenarios"]}},"/v1/security-groups/{securityGroupId}/allowed-scenarios/{allowedScenarioId}":{"get":{"summary":"Get a security group allowed scenario","operationId":"getSecurityGroupAllowedScenario","parameters":[{"name":"allowedScenarioId","in":"path","description":"The allowed scenario id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeAllowedResources","in":"query","description":"Whether to include associated Scenarios in the response.","schema":{"type":"boolean"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_allowed-scenarios.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios/{allowedScenarioId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios/{allowedScenarioId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios/{allowedScenarioId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Security Group Allowed Scenarios"]},"delete":{"summary":"Delete a security group allowed scenario","operationId":"deleteSecurityGroupAllowedScenario","parameters":[{"name":"allowedScenarioId","in":"path","description":"The allowed scenario id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios/{allowedScenarioId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios/{allowedScenarioId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/allowed-scenarios/{allowedScenarioId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Security Group Allowed Scenarios"]}},"/v1/security-groups/{securityGroupId}/clone":{"post":{"summary":"Clone a Security Group","operationId":"createSecurityGroupClone","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_clone.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_security-groups_clone.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Body Guards (Copy)'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/clone\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/clone\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Body Guards (Copy)'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/clone\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Body Guards (Copy)\"}'\n"}],"description":"Creates a copy of the specified Security Group. The name of the\nnew copy is simply the original Security Group's name with \" (Copy)\"\nappended. In order to perform this operation, the user must have both\n`POST` permission to the `/security-groups` resource and `GET` permission\nto the Security Group they wish to copy.","tags":["Security Groups"]}},"/v1/security-groups/{securityGroupId}/clone-to-facilities":{"post":{"summary":"Clone a Security Group to Facilities","operationId":"createSecurityGroupCloneToFacility","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_clone-to-facilities.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_security-groups_clone-to-facilities.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field facilityIds is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'facilityIds': [\n        'e4e7860d-fb72-11e5-93a8-7b0393df5405'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/clone-to-facilities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/clone-to-facilities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'facilityIds': [\n        'e4e7860d-fb72-11e5-93a8-7b0393df5405'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/clone-to-facilities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"facilityIds\": [\n             \"e4e7860d-fb72-11e5-93a8-7b0393df5405\"\n         ]}'\n"}],"description":"Creates copies of a Security Group in either all or a subset of the [Facilities](#tag--Facilities) the user can access.\nThe name of each copy is simply the original Security Group's name with the\nappropriate facility name prefixed.\nEach copy only maintains the global permissions of the original group.\nIn order to perform this operation, the user must have `POST` permission to the `/security-groups` resource, `GET` permission\nto the Security Group they wish to copy, and access to all requested facility ids.","tags":["Security Groups"]}},"/v1/security-groups/{securityGroupId}/members":{"get":{"summary":"List all security group members","operationId":"getSecurityGroupMembers","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of user desired, used only as a query filter","schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_security-groups_members.list.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of users that belong to the security group and thereby receive its permissions.\n(The [User Permissions](#tag--User-Permissions) and [User Security Groups](#tag--User-Security-Groups) associated with\nthe request, through the user attached to the access token, may limit the resources returned.\nGenerally only administrative users will be able to manipulate security groups.)","tags":["Security Group Members"]},"post":{"summary":"Create a security group member","operationId":"createSecurityGroupMember","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_members.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_security-groups_members.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'userId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'userId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"userId\": \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"}'\n"}],"description":"Adds a user to a security group.","tags":["Security Group Members"]}},"/v1/security-groups/{securityGroupId}/members/{memberId}":{"get":{"summary":"Get a security group member","operationId":"getSecurityGroupMember","parameters":[{"name":"memberId","in":"path","description":"The member id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_security-groups_members.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members/{memberId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members/{memberId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members/{memberId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a member of the security group through the `id` values of the group and member entry.\nSince this is not a list request, there is no pagination wrapper around the result.","tags":["Security Group Members"]},"delete":{"summary":"Delete a security group member","operationId":"deleteSecurityGroupMember","parameters":[{"name":"memberId","in":"path","description":"The member id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members/{memberId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members/{memberId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/members/{memberId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a user from a security group.","tags":["Security Group Members"]}},"/v1/security-groups/{securityGroupId}/permissions":{"get":{"summary":"List all security group permissions","operationId":"getSecurityGroupPermissions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/security-groups_permissions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of permissions users receive though their membership in the security group.  (The [User Permissions](#tag--User-Permissions) and [User Security Groups](#tag--User-Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. Generally only administrative users will be able to manipulate security groups.)","tags":["Security Group Permissions"]},"post":{"summary":"Grant a security group permission","operationId":"createSecurityGroupPermission","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_permissions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_permissions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field verb is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'spec': '/notifications/*',\n    'verb': 'post'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'spec': '/notifications/*',\n    'verb': 'post'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"spec\": \"/notifications/*\",\n         \"verb\": \"post\"}'\n"}],"description":"Grants a group the permission to perform a specific action on a specified resource or list of resources.\n### Tied Extensions\n\nThere are two pairs of extensions which are now treated by the user\ninterface as a single concept: the iOS and Android push extensions are\njointly managed as InformaCast for iOS/Android, and the macOS and\nWindows push extensions are jointly managed as InformaCast for\nMac/Windows. Because of this, granting a permission to one of either\npair will automatically grant permission to the other.","tags":["Security Group Permissions"]}},"/v1/security-groups/{securityGroupId}/permissions/{permissionId}":{"get":{"summary":"Get a security group permission","operationId":"getSecurityGroupPermission","parameters":[{"name":"permissionId","in":"path","description":"The permission id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_permissions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a permission granted to the security group through the `id` values of the group and permission entry. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Security Group Permissions"]},"put":{"summary":"Update a security group permission","operationId":"updateSecurityGroupPermission","parameters":[{"name":"permissionId","in":"path","description":"The permission id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_permissions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_permissions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field id is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'spec': '/notifications/*',\n    'verb': 'post'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'spec': '/notifications/*',\n    'verb': 'post'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"spec\": \"/notifications/*\",\n         \"verb\": \"post\"}'\n"}],"description":"Updates an existing security group permission, to change the `spec` or the `verb`, as needed.\n\n### Tied Extensions\n\nThere are two pairs of extensions which are now treated by the user\ninterface as a single concept: the iOS and Android push extensions are\njointly managed as InformaCast for iOS/Android, and the macOS and\nWindows push extensions are jointly managed as InformaCast for\nMac/Windows. Because of this, granting or revoking a permission to one\nof either pair will automatically grant or revoke permission to the\nother.\n\n### Tied Extensions\n\nThere are two pairs of extensions which are now treated by the user\ninterface as a single concept: the iOS and Android push extensions are\njointly managed as InformaCast for iOS/Android, and the macOS and\nWindows push extensions are jointly managed as InformaCast for\nMac/Windows. Because of this, revoking a permission to one of either\npair will automatically revoke permission to the other.","tags":["Security Group Permissions"]},"delete":{"summary":"Revoke a security group permission","operationId":"deleteSecurityGroupPermission","parameters":[{"name":"permissionId","in":"path","description":"The permission id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/permissions/{permissionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Security Group Permissions"]}},"/v1/security-groups/{securityGroupId}/scim-groups":{"get":{"summary":"List All SCIM Groups","operationId":"getSecurityGroupScimGroups","parameters":[{"name":"includeMemberCounts","in":"query","description":"Whether or not to include member counts for the scim groups","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/security-groups_scim-groups.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all member SCIM Groups of this security group.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Security Group SCIM Groups"]},"post":{"summary":"Update Security Group SCIM Groups","operationId":"createSecurityGroupScimGroup","parameters":[{"name":"includeMemberCounts","in":"query","description":"Whether or not to include member counts for the scim groups","schema":{"type":"boolean"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/security-groups_scim-groups.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/security-groups_scim-groups.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field scimGroupId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'scimGroupId': 'dd1a9cff-c8e9-11f1-9434-37366b0f9319'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'scimGroupId': 'dd1a9d00-c8e9-11f1-9434-69e38d550668'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"scimGroupId\": \"dd1a9d01-c8e9-11f1-9434-818d81f84ae7\"}'\n"}],"description":"Create a link between a SCIM Group and a\n[Security Group](#tag--Security-Groups) so that the member SCIM Users will\nreceive the permissions of the security group.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Security Group SCIM Groups"]}},"/v1/security-groups/{securityGroupId}/scim-groups/{scimGroupId}":{"delete":{"summary":"Remove Security Group SCIM Group","operationId":"deleteSecurityGroupScimGroup","parameters":[{"name":"scimGroupId","in":"path","description":"The scim group id path parameter","required":true,"schema":{"type":"string"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups/{scimGroupId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups/{scimGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/security-groups/{securityGroupId}/scim-groups/{scimGroupId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes the association between a SCIM Group and a\n[Security Group](#tag--Security-Groups).<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Security Group SCIM Groups"]}},"/v1/session":{"get":{"summary":"Get The Current Session","operationId":"getSessions","parameters":[],"responses":{"200":{"$ref":"#/components/responses/_session.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/session\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/session\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/session\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the authentication session information associated with the\naccess token, as well as information about the system configuration.\nThis is not a paginated result.\n\n### Session Features\n\nThe `features` attribute can contain the following values:\n\nName | Description\n--------- | -----------\napplePush | Represents that the Apple push extension is enabled and Apple devices can be registered and push notifications placed\nconferenceCall | Represents that the conference call extension is enabled and conference call collaboration groups can be used\ncucmEnabled | Represents that integration with Cisco Unified Communications Manager is enabled\ndemo | Represents that the provider's account is in demo mode\ndesktopNotifier | Represents that the desktop notifier extension is enabled and desktop notifier devices can be registered and sent notifications\ndnd | Represents that the do not disturb extension is enabled and can be used\nemail | Represents that the email extension is enabled and email devices can be registered and sent messages to\nfacebook | Represents that the Facebook extension is enabled\nfailover | Represents that failover mode is enabled\nfirebasePush | Represents that the Android/Firebase extension is enabled and Android/Firebase devices can be registered and push notifications placed\nfusion | Represents that fusion mode is enabled\ngms | Represents that GMS mode is enabled\ninboundCap | Represents that the inbound CAP extension is enabled\ninboundRss | Represents that the inbound RSS extension is enabled and can be used\nmsteamsCall | Represents the Microsoft Teams call extension is enabled\nmsteamsChat | Represents the Microsoft Teams chat extension is enabled\nopenApi | Indicates that OpenAPI documentation is available\noutboundCap | Represents that the outbound CAP extension is enabled\noutboundCapDevice | Represents that the outbound CAP device extension is enabled\nphoneCall | Represents that the phone call extension is enabled and phone devices can be registered and calls placed\nreporting | Represents that the reporting extension is enabled and the reporting extension can be used\nsms | Represents that the SMS extension is enabled and SMS devices can be registered and sent messages to\nwebexTeams | Represents that the Cisco Webex Teams extension is enabled","tags":["Session"]},"delete":{"summary":"Log Out","operationId":"deleteSession","parameters":[],"responses":{"200":{"$ref":"#/components/responses/_session.delete.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/session\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/session\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/session\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"When you want to explicitly end a session, and ensure that the\nauthentication token can no longer be used, you simply delete the\nSession resource.","tags":["Session"]}},"/v1/settings":{"get":{"summary":"Get Settings","operationId":"getSettings","parameters":[],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/settings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/settings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/settings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/settings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Fetches the current global settings. This is not a paginated result.","tags":["Settings"]},"put":{"summary":"Update Settings","operationId":"updateSetting","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/settings.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/settings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field preferredTimezone is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'preferredLanguage': 'en-US',\n    'preferredLocale': 'en-US',\n    'preferredTimezone': 'America/Chicago',\n    'supportedLanguages': [\n        'en-US',\n        'fr-CA'\n    ],\n    'usePreferredLocale': false\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/settings\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/settings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'preferredLanguage': 'en-US',\n    'preferredLocale': 'en-US',\n    'preferredTimezone': 'America/Chicago',\n    'supportedLanguages': [\n        'en-US',\n        'fr-CA'\n    ],\n    'usePreferredLocale': False\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/settings\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"preferredLanguage\": \"en-US\",\n         \"preferredLocale\": \"en-US\",\n         \"preferredTimezone\": \"America/Chicago\",\n         \"supportedLanguages\": [\n             \"en-US\",\n             \"fr-CA\"\n         ],\n         \"usePreferredLocale\": false}'\n"}],"description":"Modifies the global provider settings.","tags":["Settings"]}},"/v1/site-mapped-devices":{"get":{"summary":"List all site mapped devices","operationId":"getSiteMappedDevices","parameters":[{"name":"canReceiveNotifications","in":"query","description":"Whether the device can receive notifications","schema":{"type":"boolean"}},{"name":"facilityId","in":"query","description":"The ID of the facility this device belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this device belongs","schema":{"type":"boolean"},"example":true},{"name":"isGroupable","in":"query","description":"Whether the device can be part of a group","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"type":"string","format":"json"},"example":{"type":"Point","coordinates":[-89.50275,43.114705]}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"topDeviceType","in":"query","description":"What device type to sort to the top","schema":{"type":"string"}},{"name":"topLocation","in":"query","description":"What location to sort to the top","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/site-mapped-devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-mapped-devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-mapped-devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-mapped-devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Site-Mapped Devices"]}},"/v1/site-mapped-devices/{siteMappedDeviceId}":{"get":{"summary":"Get a site mapped device","operationId":"getSiteMappedDevice","parameters":[{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this device belongs","schema":{"type":"boolean"},"example":true},{"name":"siteMappedDeviceId","in":"path","description":"The site mapped device id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/site-mapped-devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-mapped-devices/{siteMappedDeviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-mapped-devices/{siteMappedDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-mapped-devices/{siteMappedDeviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Site-Mapped Devices"]}},"/v1/site-roles":{"get":{"summary":"List all site roles","operationId":"getSiteRoles","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this site role belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeAssociatedSites","in":"query","description":"Whether or not the array of associated sites should be included in the response","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this site role belongs","schema":{"type":"boolean"},"example":true},{"name":"isShared","in":"query","description":"Denotes whether or not this site role is globally shared","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the Site Role","schema":{"type":"string","maximum":140},"example":"Administrators"},{"name":"q","in":"query","description":"Perform a term (stemming) search on site role names","schema":{"type":"string"},"example":"admin"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/site-roles.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all site roles available to the current user. (The [User Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access\ntoken, may limit the resources returned. Controlling access to site roles allows administrators to decide\nwhich users are allowed to configure higher level divisions of their organization from the perspective of\nthe command center.)","tags":["Site Roles"]},"post":{"summary":"Create a site role","operationId":"createSiteRole","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/site-roles.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/site-roles.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Administrators'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Administrators'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Administrators\"}'\n"}],"description":"Create a new site role.","tags":["Site Roles"]}},"/v1/site-roles/{siteRoleId}":{"get":{"summary":"Get a site role","operationId":"getSiteRole","parameters":[{"name":"includeAssociatedSites","in":"query","description":"Whether or not the array of associated sites should be included in the response","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this site role belongs","schema":{"type":"boolean"},"example":true},{"name":"siteRoleId","in":"path","description":"The site role id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/site-roles.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site role by `id`. Since this is not a list request, there is no pagination wrapper around\nthe result.","tags":["Site Roles"]},"put":{"summary":"Update a site role","operationId":"updateSiteRole","parameters":[{"name":"includeAssociatedSites","in":"query","description":"Whether or not the array of associated sites should be included in the response","schema":{"type":"boolean"}},{"name":"siteRoleId","in":"path","description":"The site role id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/site-roles.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/site-roles.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'isShared': true,\n    'name': 'Administrators'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'isShared': True,\n    'name': 'Administrators'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"isShared\": true,\n         \"name\": \"Administrators\"}'\n"}],"description":"Updates an existing site role.","tags":["Site Roles"]},"delete":{"summary":"Delete a site role","operationId":"deleteSiteRole","parameters":[{"name":"siteRoleId","in":"path","description":"The site role id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing site role. This will fail if the role is currently used by any scenarios or sites.","tags":["Site Roles"]}},"/v1/site-roles/{siteRoleId}/sites":{"get":{"summary":"List all site role sites","operationId":"getSiteRoleSites","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on site role sites","schema":{"type":"string"},"example":"Security"},{"name":"siteRoleId","in":"path","description":"The site role id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/site-roles_sites.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}/sites\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}/sites\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}/sites\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all sites that have been associated with a given site\nrole that are visible to the current user. (The [permissions](#tag--User-Permissions) and [security groups](#tag--Security-Groups) associated with the request, through the user\nattached to the access token, may limit the resources returned.)","tags":["Site Roles Associated Sites"]}},"/v1/site-roles/{siteRoleId}/sites/{siteId}":{"get":{"summary":"Get a site role site","operationId":"getSiteRoleSite","parameters":[{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteRoleId","in":"path","description":"The site role id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/site-roles_sites.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}/sites/{siteId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}/sites/{siteId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/site-roles/{siteRoleId}/sites/{siteId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site role site association by `id`. Since this is\nnot a list request, there is no pagination wrapper around the result.","tags":["Site Roles Associated Sites"]}},"/v1/sites":{"get":{"summary":"List all sites","operationId":"getSites","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this site belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeBuildings","in":"query","description":"Set true to include site building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeBuildingTotal","in":"query","description":"Set true to include the site building count in the response","schema":{"type":"boolean"}},{"name":"includeEmergencyBuildings","in":"query","description":"Set true to include site emergency building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include site external sources","schema":{"type":"boolean"}},{"name":"includeSources","in":"query","description":"Set true to include site external source types in the response (as a text array, deprecated)","schema":{"type":"boolean"},"deprecated":true},{"name":"isGlobal","in":"query","description":"Filter list results by whether or not site is associated with global facility","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the Site","schema":{"type":"string","maximum":255},"example":"UW-Madison"},{"name":"q","in":"query","description":"Perform a term (stemming) search on site names","schema":{"type":"string"},"example":"madison"},{"name":"requireEmergencyBuildings","in":"query","description":"Set true to only return sites that have emergency buildings","schema":{"type":"boolean"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_sites_response.base"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all sites available to the current user.\n(The [Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through\nthe user attached to the access token, may limit the resources returned.\nControlling access to sites allows administrators to decide which users can\nconfigure recipients of scenarios.)","tags":["Sites"]},"post":{"summary":"Create a site","operationId":"createSite","parameters":[{"name":"includeBuildings","in":"query","description":"Set true to include site building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeBuildingTotal","in":"query","description":"Set true to include the site building count in the response","schema":{"type":"boolean"}},{"name":"includeEmergencyBuildings","in":"query","description":"Set true to include site emergency building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include site external sources","schema":{"type":"boolean"}},{"name":"includeSources","in":"query","description":"Set true to include site external source types in the response (as a text array, deprecated)","schema":{"type":"boolean"},"deprecated":true}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_sites_response.base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'UW-Madison'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'UW-Madison'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"UW-Madison\"}'\n"}],"description":"Create a new site.","tags":["Sites"]}},"/v1/sites-management":{"get":{"summary":"Get Import Status","operationId":"getSitesManagements","parameters":[],"responses":{"200":{"$ref":"#/components/responses/_manage-sites.get-response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites-management\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites-management\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites-management\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of the current import status for various integrations (Kontakt.io, Zoom, etc).\n\nGets the status of the Zoom and Kontakt.io integrations. `imported` is true if at least one site has been imported and has an\n`externalSource`, with the `importDate` being the date of that `externalSource` being created.","tags":["Sites Management"]},"post":{"summary":"Manage Sites","operationId":"createSitesManagement","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites-management.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_manage-sites.post-response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field action is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'action': 'unlink-sources',\n    'externalSites': '[{\"name\": \"external-site\", \"source\": \"kontaktio-wearable-panic-button\", \"externalId\": \"e5ca6e72-018d-11ef-9a79-f70ca05b7fe9\"}]',\n    'sources': '[\"kontaktio-wearable-panic-button\"]'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites-management\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites-management\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'action': 'unlink-sources',\n    'externalSites': '[{\"name\": \"external-site\", \"source\": \"kontaktio-wearable-panic-button\", \"externalId\": \"e5ca6e72-018d-11ef-9a79-f70ca05b7fe9\"}]',\n    'sources': '[\"kontaktio-wearable-panic-button\"]'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites-management\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"action\": \"unlink-sources\",\n         \"externalSites\": \"[{\\\"name\\\": \\\"external-site\\\", \\\"source\\\": \\\"kontaktio-wearable-panic-button\\\", \\\"externalId\\\": \\\"e5ca6e72-018d-11ef-9a79-f70ca05b7fe9\\\"}]\",\n         \"sources\": \"[\\\"kontaktio-wearable-panic-button\\\"]\"}'\n"}],"description":"Updates the state of a Sites integration. Depending on the value of\n`action`, performs one of the following four operations:\n\n### Unlink Sources\n\nUsing an `action` of `unlink-sources` unlinks all sites with a source\nlisted in `sources`. Removes the `externalSource` record for the\nsites. Does not delete or modify the sites in any other way. Additionally, in\na future release, specific sites for the given `sources` can be unlinked\nby supplying them directly in `externalSites`.\n\n### Import\n\nUsing an action of `import` imports the sites supplied in\n`externalSites`. Note that this is in a very particular format that we\nonly expect to be used via the Singlewire administrative web\napplication.\n\n### Import by External ID\n\nIn a future release, using an action of `import-by-external-id` imports the sites\nsupplied in `externalSites` and links them directly to existing InformaCast sites\nand buildings by id. Similarly to the `import` action, this will use a very\nparticular format only expected to be used via the Singlewire administrative web\napplication.\n\n### Update by External ID\n\nIn a future release, using an action of `update-by-external-id` updates the sites supplied\nin `externalSites` using the same link established by the `import-by-external-id` action.\nSimilarly to the `import-by-external-id` action, this will also use a very particular format\nonly expected to be used via the Singlewire administrative web application.","tags":["Sites Management"]}},"/v1/sites/{siteId}":{"get":{"summary":"Get a site","operationId":"getSite","parameters":[{"name":"includeBuildings","in":"query","description":"Set true to include site building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeBuildingTotal","in":"query","description":"Set true to include the site building count in the response","schema":{"type":"boolean"}},{"name":"includeEmergencyBuildings","in":"query","description":"Set true to include site emergency building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include site external sources","schema":{"type":"boolean"}},{"name":"includeSources","in":"query","description":"Set true to include site external source types in the response (as a text array, deprecated)","schema":{"type":"boolean"},"deprecated":true},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_sites_response.base"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site by `id`. Since this is not a list request, there is\nno pagination wrapper around the result.","tags":["Sites"]},"put":{"summary":"Update a site","operationId":"updateSite","parameters":[{"name":"includeBuildings","in":"query","description":"Set true to include site building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeBuildingTotal","in":"query","description":"Set true to include the site building count in the response","schema":{"type":"boolean"}},{"name":"includeEmergencyBuildings","in":"query","description":"Set true to include site emergency building IDs and names in the response","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include site external sources","schema":{"type":"boolean"}},{"name":"includeSources","in":"query","description":"Set true to include site external source types in the response (as a text array, deprecated)","schema":{"type":"boolean"},"deprecated":true},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_sites_response.base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'UW-Madison'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'UW-Madison'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"UW-Madison\"}'\n"}],"description":"Updates an existing site.","tags":["Sites"]},"delete":{"summary":"Delete a site","operationId":"deleteSite","parameters":[{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing site. This will delete any buildings, floors, and zones associated with the site.","tags":["Sites"]}},"/v1/sites/{siteId}/buildings":{"get":{"summary":"List all site buildings","operationId":"getSiteBuildings","parameters":[{"name":"addressLine1","in":"query","description":"Address of the building - first line","schema":{"type":"string","maximum":200},"example":"8422 Old Sauk Road"},{"name":"addressLine2","in":"query","description":"Address of the building - second line","schema":{"type":"string","maximum":200},"example":"Suite 100"},{"name":"addressVerified","in":"query","description":"Whether the address has been validated, false when Use Original Address used","schema":{"type":"boolean"}},{"name":"emergency","in":"query","description":"Whether this building is an emergency building (note: this can only be set for existing buildings, and cannot be used in the intial POST that creates one)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"},"example":false},{"name":"hasCompleteFloorStatus","in":"query","description":"Set true to return buildings that have floors with plans/boundaries. Set false to return buildings without floors or floors without plans/boundaries","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include external sources of a building in the response","schema":{"type":"boolean"}},{"name":"includeFloors","in":"query","description":"Set true to include site building floor IDs, names, ranks, types, and image-origins (if any) in the response","schema":{"type":"boolean"}},{"name":"includeFloorTotal","in":"query","description":"Set true to include floor counts of site buildings in the response","schema":{"type":"boolean"}},{"name":"includeGroundFloorBinaryUrls","in":"query","description":"Set true to include the ground floor's floor plan image files (with signed CloudFront URLs) and image origins in the response.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true to include name of the site in the response","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the building","schema":{"type":"string","maximum":255},"example":"Chipotle"},{"name":"q","in":"query","description":"Perform a term (stemming) search on the building name","schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_buildings.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all site buildings for a given site available to the current\nuser. (The [Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--Security-Groups) associated with the request, through the\nuser attached to the access token, may limit the resources returned.\nControlling access to sites allows administrators to decide which users\ncan configure recipients of scenarios.)","tags":["Site Buildings"]},"post":{"summary":"Create a site building","operationId":"createSiteBuilding","parameters":[{"name":"hasCompleteFloorStatus","in":"query","description":"Set true to return buildings that have floors with plans/boundaries. Set false to return buildings without floors or floors without plans/boundaries","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include external sources of a building in the response","schema":{"type":"boolean"}},{"name":"includeFloors","in":"query","description":"Set true to include site building floor IDs, names, ranks, types, and image-origins (if any) in the response","schema":{"type":"boolean"}},{"name":"includeFloorTotal","in":"query","description":"Set true to include floor counts of site buildings in the response","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true to include name of the site in the response","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_buildings.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'addressLine1': '8422 Old Sauk Road',\n    'addressLine2': 'Suite 100',\n    'city': 'Madison',\n    'country': 'United States',\n    'emergency': false,\n    'groundFloorId': 'b0d74d30-5933-11f1-a127-1d7cc2c0e2e5',\n    'name': 'Chipotle',\n    'postalCode': '53717-4367',\n    'primaryPhone': '+15558675309',\n    'siteId': 'dd16cc42-c8e9-11f1-9434-6d1f48bd4c70',\n    'state': 'Wisconsin'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'addressLine1': '8422 Old Sauk Road',\n    'addressLine2': 'Suite 100',\n    'city': 'Madison',\n    'country': 'United States',\n    'emergency': False,\n    'groundFloorId': 'b0d74d30-5933-11f1-a127-1d7cc2c0e2e5',\n    'name': 'Chipotle',\n    'postalCode': '53717-4367',\n    'primaryPhone': '+15558675309',\n    'siteId': 'dd16cc43-c8e9-11f1-9434-7599d28b4ca5',\n    'state': 'Wisconsin'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"addressLine1\": \"8422 Old Sauk Road\",\n         \"addressLine2\": \"Suite 100\",\n         \"city\": \"Madison\",\n         \"country\": \"United States\",\n         \"emergency\": false,\n         \"groundFloorId\": \"b0d74d30-5933-11f1-a127-1d7cc2c0e2e5\",\n         \"name\": \"Chipotle\",\n         \"postalCode\": \"53717-4367\",\n         \"primaryPhone\": \"+15558675309\",\n         \"siteId\": \"dd16cc44-c8e9-11f1-9434-c93e7203b809\",\n         \"state\": \"Wisconsin\"}'\n"}],"description":"Create a new site building.","tags":["Site Buildings"]}},"/v1/sites/{siteId}/buildings/{buildingId}":{"get":{"summary":"Get a site building","operationId":"getSiteBuilding","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"hasCompleteFloorStatus","in":"query","description":"Set true to return buildings that have floors with plans/boundaries. Set false to return buildings without floors or floors without plans/boundaries","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include external sources of a building in the response","schema":{"type":"boolean"}},{"name":"includeFloors","in":"query","description":"Set true to include site building floor IDs, names, ranks, types, and image-origins (if any) in the response","schema":{"type":"boolean"}},{"name":"includeFloorTotal","in":"query","description":"Set true to include floor counts of site buildings in the response","schema":{"type":"boolean"}},{"name":"includeGroundFloorBinaryUrls","in":"query","description":"Set true to include the ground floor's floor plan image files (with signed CloudFront URLs) and image origins in the response.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true to include name of the site in the response","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site building by `id`. Since this is not a list request,\nthere is no pagination wrapper around the result.","tags":["Site Buildings"]},"put":{"summary":"Update a site building","operationId":"updateSiteBuilding","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"hasCompleteFloorStatus","in":"query","description":"Set true to return buildings that have floors with plans/boundaries. Set false to return buildings without floors or floors without plans/boundaries","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true to include external sources of a building in the response","schema":{"type":"boolean"}},{"name":"includeFloors","in":"query","description":"Set true to include site building floor IDs, names, ranks, types, and image-origins (if any) in the response","schema":{"type":"boolean"}},{"name":"includeFloorTotal","in":"query","description":"Set true to include floor counts of site buildings in the response","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true to include name of the site in the response","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_buildings.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'addressLine1': '8422 Old Sauk Road',\n    'addressLine2': 'Suite 100',\n    'city': 'Madison',\n    'country': 'United States',\n    'emergency': false,\n    'groundFloorId': 'b0d74d30-5933-11f1-a127-1d7cc2c0e2e5',\n    'name': 'Chipotle',\n    'postalCode': '53717-4367',\n    'primaryPhone': '+15558675309',\n    'siteId': 'dd12d566-c8e9-11f1-9434-8df4b750c6bc',\n    'state': 'Wisconsin'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'addressLine1': '8422 Old Sauk Road',\n    'addressLine2': 'Suite 100',\n    'city': 'Madison',\n    'country': 'United States',\n    'emergency': False,\n    'groundFloorId': 'b0d74d30-5933-11f1-a127-1d7cc2c0e2e5',\n    'name': 'Chipotle',\n    'postalCode': '53717-4367',\n    'primaryPhone': '+15558675309',\n    'siteId': 'dd12d567-c8e9-11f1-9434-5305e32f9a77',\n    'state': 'Wisconsin'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"addressLine1\": \"8422 Old Sauk Road\",\n         \"addressLine2\": \"Suite 100\",\n         \"city\": \"Madison\",\n         \"country\": \"United States\",\n         \"emergency\": false,\n         \"groundFloorId\": \"b0d74d30-5933-11f1-a127-1d7cc2c0e2e5\",\n         \"name\": \"Chipotle\",\n         \"postalCode\": \"53717-4367\",\n         \"primaryPhone\": \"+15558675309\",\n         \"siteId\": \"dd12d568-c8e9-11f1-9434-db992b3a0535\",\n         \"state\": \"Wisconsin\"}'\n"}],"description":"Updates an existing site building.","tags":["Site Buildings"]},"delete":{"summary":"Delete a site building","operationId":"deleteSiteBuilding","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing site building. This will delete any\n[Floors](#tag--Site-Building-Floors) and [Zones](#tag--Site-Building-Floor-Zones) associated\nwith the building.","tags":["Site Buildings"]}},"/v1/sites/{siteId}/buildings/{buildingId}/external-sources":{"get":{"summary":"List all site building external sources","operationId":"getSiteBuildingExternalSources","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the external site building","schema":{"type":"string"},"example":"Parthenon"},{"name":"q","in":"query","description":"Perform a term (stemming) search on building names and sources","schema":{"type":"string"},"example":"par"},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"source","in":"query","description":"The external site building source type","schema":{"type":"string","maximum":10000},"example":"zoom"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_buildings_external-sources.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all external sources for the given site building.","tags":["Site Building External Sources"]}},"/v1/sites/{siteId}/buildings/{buildingId}/external-sources/{externalSourceId}":{"get":{"summary":"Get a site building external source","operationId":"getSiteBuildingExternalSource","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_external-sources.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources/{externalSourceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources/{externalSourceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site building external source by `id`. Since this is not\na list request, there is no pagination wrapper around the result.\nNote that this is by ID, not external ID.","tags":["Site Building External Sources"]},"delete":{"summary":"Delete a site building external source","operationId":"deleteSiteBuildingExternalSource","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources/{externalSourceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/external-sources/{externalSourceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Site Building External Sources"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors":{"get":{"summary":"List all site building floors","operationId":"getSiteBuildingFloors","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"hasFloorPlan","in":"query","description":"Filter list results by whether or not building has floor plan<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for the floor plan image in the response when available.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"If `true`, include the external sources of the site building floor.","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"If `true`, include `siteName` and `buildingName` in the response.","schema":{"type":"boolean"}},{"name":"includeZoneBoundaries","in":"query","description":"If `true`, include the boundary of all zones returned by `includeZones`","schema":{"type":"boolean"}},{"name":"includeZones","in":"query","description":"If `true`, include the zones of the site building floor.","schema":{"type":"boolean"}},{"name":"includeZoneTotal","in":"query","description":"If `true`, include the number of site building floor zones which the floor contains.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The site building floor’s unique name. Maximum of 140 characters.","schema":{"type":"string","maximum":255},"example":"Floor 10"},{"name":"q","in":"query","description":"Perform a term (stemming) search on floor names","schema":{"type":"string"},"example":"13"},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_buildings_floors.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all site building floors for a given\n[site building](#tag--Site-Buildings) available\nto the current user. (The [Permissions](#tag--User-Permissions)\nand [Security Groups](#tag--Security-Groups) associated with the request,\nthrough the user attached to the access token, may limit the resources\nreturned. Controlling access to sites allows administrators to decide which\nusers can configure recipients of scenarios.)","tags":["Site Building Floors"]},"post":{"summary":"Create a site building floor","operationId":"createSiteBuildingFloor","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for the floor plan image in the response when available.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"If `true`, include the external sources of the site building floor.","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"If `true`, include `siteName` and `buildingName` in the response.","schema":{"type":"boolean"}},{"name":"includeZoneBoundaries","in":"query","description":"If `true`, include the boundary of all zones returned by `includeZones`","schema":{"type":"boolean"}},{"name":"includeZones","in":"query","description":"If `true`, include the zones of the site building floor.","schema":{"type":"boolean"}},{"name":"includeZoneTotal","in":"query","description":"If `true`, include the number of site building floor zones which the floor contains.","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': 'dd16a52c-c8e9-11f1-9434-d7e60836e343',\n    'name': 'Floor 10',\n    'siteId': 'dd16a52d-c8e9-11f1-9434-1d75b3017bd4',\n    'type': 'FL'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': 'dd16a52e-c8e9-11f1-9434-f5062a78bddb',\n    'name': 'Floor 10',\n    'siteId': 'dd16a52f-c8e9-11f1-9434-35a502461d8b',\n    'type': 'FL'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"dd16a530-c8e9-11f1-9434-b746a1783b30\",\n         \"name\": \"Floor 10\",\n         \"siteId\": \"dd16a531-c8e9-11f1-9434-856504656486\",\n         \"type\": \"FL\"}'\n"}],"description":"Create a new site building floor.","tags":["Site Building Floors"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}":{"get":{"summary":"Get a site building floor","operationId":"getSiteBuildingFloor","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for the floor plan image in the response when available.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"If `true`, include the external sources of the site building floor.","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"If `true`, include `siteName` and `buildingName` in the response.","schema":{"type":"boolean"}},{"name":"includeZoneBoundaries","in":"query","description":"If `true`, include the boundary of all zones returned by `includeZones`","schema":{"type":"boolean"}},{"name":"includeZones","in":"query","description":"If `true`, include the zones of the site building floor.","schema":{"type":"boolean"}},{"name":"includeZoneTotal","in":"query","description":"If `true`, include the number of site building floor zones which the floor contains.","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site building floor by `id`. Since this is not a list\nrequest, there is no pagination wrapper around the result.","tags":["Site Building Floors"]},"put":{"summary":"Update a site building floor","operationId":"updateSiteBuildingFloor","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeBinaryUrls","in":"query","description":"If `true`, include signed CloudFront URLs for the floor plan image in the response when available.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"If `true`, include the external sources of the site building floor.","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"If `true`, include `siteName` and `buildingName` in the response.","schema":{"type":"boolean"}},{"name":"includeZoneBoundaries","in":"query","description":"If `true`, include the boundary of all zones returned by `includeZones`","schema":{"type":"boolean"}},{"name":"includeZones","in":"query","description":"If `true`, include the zones of the site building floor.","schema":{"type":"boolean"}},{"name":"includeZoneTotal","in":"query","description":"If `true`, include the number of site building floor zones which the floor contains.","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': 'dd08ea17-c8e9-11f1-9434-51774a66fdb8',\n    'name': 'Floor 10',\n    'siteId': 'dd08ea18-c8e9-11f1-9434-017815076a3f',\n    'type': 'FL'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': 'dd091129-c8e9-11f1-9434-9bc222ab31b7',\n    'name': 'Floor 10',\n    'siteId': 'dd09112a-c8e9-11f1-9434-7b696b37f4df',\n    'type': 'FL'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"dd09112b-c8e9-11f1-9434-d5805c9f8daf\",\n         \"name\": \"Floor 10\",\n         \"siteId\": \"dd09112c-c8e9-11f1-9434-e934f6f62256\",\n         \"type\": \"FL\"}'\n"}],"description":"Updates an existing site building floor.","tags":["Site Building Floors"]},"delete":{"summary":"Delete a site building floor","operationId":"deleteSiteBuildingFloor","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing site building floor. This will delete any\n[Zones](#tag--Site-Building-Floor-Zones) associated with the floor.","tags":["Site Building Floors"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources":{"get":{"summary":"List all site building floor external sources","operationId":"getSiteBuildingFloorExternalSources","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the floor","schema":{"type":"string"},"example":"Quarantine Floor"},{"name":"q","in":"query","description":"Perform a term (stemming) search on floor names and sources","schema":{"type":"string"},"example":"Quarantine"},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"source","in":"query","description":"The external site building floor source type","schema":{"type":"string","maximum":10000}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_buildings_floors_external-sources.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all external sources for the given site building floor.","tags":["Site Building Floor External Sources"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources/{externalSourceId}":{"get":{"summary":"Get a site building floor external source","operationId":"getSiteBuildingFloorExternalSource","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors_external-sources.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources/{externalSourceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources/{externalSourceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site building floor external source by `id`.\nSince this is not a list request, there is no pagination wrapper\naround the result. Note that this is by ID, not external ID.","tags":["Site Building Floor External Sources"]},"delete":{"summary":"Delete a site building floor external source","operationId":"deleteSiteBuildingFloorExternalSource","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources/{externalSourceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/external-sources/{externalSourceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Site Building Floor External Sources"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones":{"get":{"summary":"List all site building floor zones","operationId":"getSiteBuildingFloorZones","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"hasBoundary","in":"query","description":"Filter list results by whether or not zone has boundary","schema":{"type":"boolean"}},{"name":"includeExternalSources","in":"query","description":"Set true if we want to include external sources of a zone","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true if we want to include names of site, building, and floor","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the Site Room/Zone record","schema":{"type":"string","maximum":255},"example":"Zone 123"},{"name":"q","in":"query","description":"Perform a term (stemming) search on zone names","schema":{"type":"string"},"example":"123"},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"Type of the Site Room/Zone record; maximum of 4 characters","schema":{"type":"string","maximum":4},"example":"APT"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_buildings_floors_zones.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all site floor zones for a given site available to the\ncurrent user. (The [Permissions](#tag--User-Permissions)\nand [Security Groups](#tag--Security-Groups) associated with the request,\nthrough the user attached to the access token, may limit the resources\nreturned.)","tags":["Site Building Floor Zones"]},"post":{"summary":"Create a site building floor zone","operationId":"createSiteBuildingFloorZone","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeExternalSources","in":"query","description":"Set true if we want to include external sources of a zone","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true if we want to include names of site, building, and floor","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors_zones.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors_zones.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': 'dd1c4abb-c8e9-11f1-9434-e7fcedf9b04f',\n    'floorId': 'dd1c4abc-c8e9-11f1-9434-df309152a8a6',\n    'name': 'Zone 123',\n    'siteId': 'dd1c4abd-c8e9-11f1-9434-0fc522d02345',\n    'type': 'APT'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': 'dd1c4abe-c8e9-11f1-9434-edd1291aaf2b',\n    'floorId': 'dd1c4abf-c8e9-11f1-9434-c3349fd5ba8d',\n    'name': 'Zone 123',\n    'siteId': 'dd1c4ac0-c8e9-11f1-9434-b3207d52286c',\n    'type': 'APT'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"dd1c4ac1-c8e9-11f1-9434-b7230c3f670e\",\n         \"floorId\": \"dd1c4ac2-c8e9-11f1-9434-abc139964856\",\n         \"name\": \"Zone 123\",\n         \"siteId\": \"dd1c4ac3-c8e9-11f1-9434-85e584fe8208\",\n         \"type\": \"APT\"}'\n"}],"description":"Create a new site building floor zone.","tags":["Site Building Floor Zones"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}":{"get":{"summary":"Get a site building floor zone","operationId":"getSiteBuildingFloorZone","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeExternalSources","in":"query","description":"Set true if we want to include external sources of a zone","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true if we want to include names of site, building, and floor","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors_zones.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site building floor zone by `id`. Since this is not a\nlist request, there is no pagination wrapper around the result.","tags":["Site Building Floor Zones"]},"put":{"summary":"Update a site building floor zone","operationId":"updateSiteBuildingFloorZone","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeExternalSources","in":"query","description":"Set true if we want to include external sources of a zone","schema":{"type":"boolean"}},{"name":"includeParentNames","in":"query","description":"Set true if we want to include names of site, building, and floor","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors_zones.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors_zones.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': 'dd132389-c8e9-11f1-9434-7dee992b89e4',\n    'floorId': 'dd13238a-c8e9-11f1-9434-15144736cff5',\n    'name': 'Zone 123',\n    'siteId': 'dd13238b-c8e9-11f1-9434-d5af87e4ae3f',\n    'type': 'APT'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': 'dd13238c-c8e9-11f1-9434-a53d902d09a5',\n    'floorId': 'dd13238d-c8e9-11f1-9434-75403059e191',\n    'name': 'Zone 123',\n    'siteId': 'dd13238e-c8e9-11f1-9434-333897dd636b',\n    'type': 'APT'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"dd13238f-c8e9-11f1-9434-63776bd22ebf\",\n         \"floorId\": \"dd132390-c8e9-11f1-9434-e730fd230d03\",\n         \"name\": \"Zone 123\",\n         \"siteId\": \"dd132391-c8e9-11f1-9434-eb722b4b6e5c\",\n         \"type\": \"APT\"}'\n"}],"description":"Updates an existing site building floor zone.","tags":["Site Building Floor Zones"]},"delete":{"summary":"Delete a site building floor zone","operationId":"deleteSiteBuildingFloorZone","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Site Building Floor Zones"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources":{"get":{"summary":"List all site building floor zone external sources","operationId":"getSiteBuildingFloorZoneExternalSources","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the external site building floor zone","schema":{"type":"string"},"example":"Dance floor"},{"name":"q","in":"query","description":"Perform a term (stemming) search on zone names and sources","schema":{"type":"string"},"example":"Dan"},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"source","in":"query","description":"The external site building floor zone source type","schema":{"type":"string","maximum":10000},"example":"zoom"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_buildings_floors_zones_external-sources.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all external sources for the given site building floor zone.","tags":["Site Building Floor Zone External Sources"]}},"/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources/{externalSourceId}":{"get":{"summary":"Get a site building floor zone external source","operationId":"getSiteBuildingFloorZoneExternalSource","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_floors_zones_external-sources.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources/{externalSourceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources/{externalSourceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site building floor zone external source by `id`.\nSince this is not a list request, there is no pagination wrapper around\nthe result. Note that this is by ID, not external ID.","tags":["Site Building Floor Zone External Sources"]},"delete":{"summary":"Delete a site building floor zone external source","operationId":"deleteSiteBuildingFloorZoneExternalSource","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"floorId","in":"path","description":"The floor id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources/{externalSourceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/floors/{floorId}/zones/{zoneId}/external-sources/{externalSourceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Site Building Floor Zone External Sources"]}},"/v1/sites/{siteId}/buildings/{buildingId}/reorder-floors":{"put":{"summary":"Update a site building: reorder floors","operationId":"updateSiteBuildingReorderFloor","parameters":[{"name":"buildingId","in":"path","description":"The building id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_buildings_reorder-floors.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_buildings_reorder-floors.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field floors is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'floors': [\n        '18b63b39-0f40-4000-8109-14428af94401',\n        'c97ecd00-9a3d-451f-b39c-a098ea337fac'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/reorder-floors\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/reorder-floors\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'floors': [\n        '18b63b39-0f40-4000-8109-14428af94401',\n        'c97ecd00-9a3d-451f-b39c-a098ea337fac'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/buildings/{buildingId}/reorder-floors\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"floors\": [\n             \"18b63b39-0f40-4000-8109-14428af94401\",\n             \"c97ecd00-9a3d-451f-b39c-a098ea337fac\"\n         ]}'\n"}],"description":"Sets a new order for the floors in a building. The `floors` attribute must be supplied, with\nthe UUIDs of all floors in the building appearing exactly once in the desired order.","tags":["Site Buildings"]}},"/v1/sites/{siteId}/external-sources":{"get":{"summary":"List all site external sources","operationId":"getSiteExternalSources","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the external site","schema":{"type":"string","maximum":10000},"example":"Moon Base"},{"name":"q","in":"query","description":"Perform a term (stemming) search on site names and sources","schema":{"type":"string"},"example":"Base"},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"source","in":"query","description":"The external site source type","schema":{"type":"string","maximum":10000},"example":"zoom"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_external-sources.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all external sources for the given site.","tags":["Site External Sources"]}},"/v1/sites/{siteId}/external-sources/{externalSourceId}":{"get":{"summary":"Get a site external source","operationId":"getSiteExternalSource","parameters":[{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_external-sources.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources/{externalSourceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources/{externalSourceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single site external source by `id`. Since this is not a list request,\nthere is no pagination wrapper around the result. Note that this is by ID, not external ID.","tags":["Site External Sources"]},"delete":{"summary":"Delete a site external source","operationId":"deleteSiteExternalSource","parameters":[{"name":"externalSourceId","in":"path","description":"The external source id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources/{externalSourceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources/{externalSourceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/external-sources/{externalSourceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Site External Sources"]}},"/v1/sites/{siteId}/recipients":{"get":{"summary":"List all site recipients","operationId":"getSiteRecipients","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/sites_recipients.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all [sites](#tag--Sites) that are associated\nwith each [site role](#tag--Site-Roles) for a given site. (The\n[permissions](#tag--User-Permissions) and [security groups](#tag--Security-Groups) associated with the request, through\nthe user attached to the access token, may limit the resources\nreturned.)","tags":["Site Recipients"]},"post":{"summary":"Create site role recipients","operationId":"createSiteRecipient","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_recipients.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_recipients.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteRoleId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'collaborationGroupIds': [],\n    'deviceGroupIds': [],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'siteRoleId': 'dd12ae53-c8e9-11f1-9434-cf70a48f9d8f',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'collaborationGroupIds': [],\n    'deviceGroupIds': [],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'siteRoleId': 'dd12ae54-c8e9-11f1-9434-6d866b257a9d',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"areaOfInterestIds\": [\n             \"8145ebd1-7a8b-11ee-bc97-098b09a637c2\"\n         ],\n         \"collaborationGroupIds\": [],\n         \"deviceGroupIds\": [],\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"siteRoleId\": \"dd12d565-c8e9-11f1-9434-49c3ef94b552\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Associate recipients with a [site](#tag--Sites) through a\n[site role](#tag--Site-Roles).\n\nTrying to do this more than once for the same `siteId` and\n`siteRoleId` will lead to a valdation error; use the Update action\ninstead if the site role is already associated with the site.","tags":["Site Recipients"]}},"/v1/sites/{siteId}/recipients/{recipientId}":{"get":{"summary":"Get site role recipients","operationId":"getSiteRecipient","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"recipientId","in":"path","description":"The recipient id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_recipients.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves information about the recipients associated through a\nspecific [site role](#tag--Site-Roles) to a site by\n`recipientId` (which would need to be obtained by a previous list\nrequest). Since this is not a list request, there is no pagination\nwrapper around the result.","tags":["Site Recipients"]},"put":{"summary":"Update site role recipients","operationId":"updateSiteRecipient","parameters":[{"name":"includeAreasOfInterest","in":"query","description":"Include embedded copies of the recipient areas of interest in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeCollaborationGroups","in":"query","description":"Include embedded copies of the recipient collaboration groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDeviceGroups","in":"query","description":"Include embedded copies of the recipient device groups in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"recipientId","in":"path","description":"The recipient id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/sites_recipients.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sites_recipients.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteRoleId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'collaborationGroupIds': [],\n    'deviceGroupIds': [],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'siteRoleId': 'dd1b8765-c8e9-11f1-9434-9badc0e35111',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'areaOfInterestIds': [\n        '8145ebd1-7a8b-11ee-bc97-098b09a637c2'\n    ],\n    'collaborationGroupIds': [],\n    'deviceGroupIds': [],\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'siteRoleId': 'dd1b8766-c8e9-11f1-9434-6774ff2f2dd8',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"areaOfInterestIds\": [\n             \"8145ebd1-7a8b-11ee-bc97-098b09a637c2\"\n         ],\n         \"collaborationGroupIds\": [],\n         \"deviceGroupIds\": [],\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"siteRoleId\": \"dd1bae77-c8e9-11f1-9434-0b4a654a02a8\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Updates the recipients associaed with a [site](#tag--Sites)\nthrough a [site role](#tag--Site-Roles) by `recipientId`\n(which would need to be obtained by a previous list request).","tags":["Site Recipients"]},"delete":{"summary":"Delete site role recipients","operationId":"deleteSiteRecipient","parameters":[{"name":"recipientId","in":"path","description":"The recipient id path parameter","required":true,"schema":{"type":"string"}},{"name":"siteId","in":"path","description":"The site id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/sites/{siteId}/recipients/{recipientId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes the association of recipients with a [site](#tag--Sites) through a [site role](#tag--Site-Roles) by\n`recipientId` (which would need to be obtained by a previous list\nrequest).","tags":["Site Recipients"]}},"/v1/supervisors":{"get":{"summary":"List all supervisors","operationId":"getSupervisors","parameters":[{"name":"batteryPercentage","in":"query","description":"Optionally filter Supervisors by battery percentage","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__gt","in":"query","description":"Filter results where battery-percentage is greater than  the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__gte","in":"query","description":"Filter results where battery-percentage is greater than or equal to the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__lt","in":"query","description":"Filter results where battery-percentage is less than the supplied value","schema":{"type":"integer"},"example":12},{"name":"batteryPercentage__lte","in":"query","description":"Filter results where battery-percentage is less than or equal to the supplied value","schema":{"type":"integer"},"example":12},{"name":"buildingId","in":"query","description":"The ID of the Building the Supervisor is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"connectionStatus","in":"query","description":"Optionally filter Supervisors by connection status","schema":{"type":"string","enum":["UNKNOWN","CONNECTED","DISCONNECTED"],"example":"DISCONNECTED"},"example":"DISCONNECTED"},{"name":"eui","in":"query","description":"The Supervisors's device EUI","schema":{"type":"string","maximum":16,"minimum":16},"example":"0205f041c8e3e647"},{"name":"facilityId","in":"query","description":"The ID of the facility this Supervisor belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"floorId","in":"query","description":"The ID of the Floor the Supervisor is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Supervisor belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLatestState","in":"query","description":"Optionally include the Supervisor's latest state.","schema":{"type":"boolean"}},{"name":"isDecommissioned","in":"query","description":"Whether the Supervisor is currently decommissioned","schema":{"type":"boolean"},"example":true},{"name":"isLocationPinned","in":"query","description":"Optionally include Supervisors with or without a pinned location.","schema":{"type":"boolean"}},{"name":"isOutdoorModel","in":"query","description":"Whether the Supervisor's model is only compatible with outdoor zones.","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"model","in":"query","description":"The Supervisor's model","schema":{"type":"string","enum":["Moko_LW003B","Moko_LW003_Ultra"],"example":"Moko_LW003B"},"example":"Moko_LW003B"},{"name":"name","in":"query","description":"The name of the Supervisor","schema":{"type":"string","maximum":140,"minimum":3},"example":"Primary iBeacon Supervisor"},{"name":"pinnedLocation","in":"query","description":"A GeoJSON Point representing the location to which the Supervisor is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Supervisors whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","schema":{"type":"string","format":"json"},"example":{"type":"Point","coordinates":[-89.50275,43.114705]}},{"name":"pinnedLocation__within","in":"query","description":"Filter results where pinned-location is within the supplied value","schema":{"type":"string","format":"json"},"example":{"type":"Polygon","coordinates":[[[-89.5032,43.1144],[-89.5022,43.1144],[-89.5022,43.115],[-89.5032,43.115],[-89.5032,43.1144]]]}},{"name":"q","in":"query","description":"Perform a term (stemming) search on Supervisor names and external IDs","schema":{"type":"string"},"example":"Moko"},{"name":"signal","in":"query","description":"Optionally filter Supervisors by their derived signal strength","schema":{"type":"string","enum":["UNKNOWN","STRONG","FAIR","LOW"],"example":"STRONG"},"example":"STRONG"},{"name":"siteId","in":"query","description":"The ID of the Site the Supervisor is assigned to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"sort","in":"query","description":"Sorts Supervisors by name, battery percentage, outdoor model status, or signal strength. Defaults to name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"zoneId","in":"query","description":"The ID of the Zone the Supervisor is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/supervisors.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]},"post":{"summary":"Create a supervisor","operationId":"createSupervisor","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/supervisors.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': true,\n    'model': 'Moko_LW003B',\n    'name': 'Primary iBeacon Supervisor',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'salt': '8d6e1f0a2b3c4d5e',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': True,\n    'model': 'Moko_LW003B',\n    'name': 'Primary iBeacon Supervisor',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'salt': '8d6e1f0a2b3c4d5e',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"appEui\": \"0000000000000001\",\n         \"appKey\": \"ae4e4470e68a4fbd941b77ec0018cfba\",\n         \"blePassword\": \"be4e4470e68a4fbd941b77ec0018cfbb\",\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"eui\": \"0205f041c8e3e647\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"isDecommissioned\": true,\n         \"model\": \"Moko_LW003B\",\n         \"name\": \"Primary iBeacon Supervisor\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"salt\": \"8d6e1f0a2b3c4d5e\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/supervisors/{supervisorId}":{"get":{"summary":"Get a supervisor","operationId":"getSupervisor","parameters":[{"name":"batteryPercentage","in":"query","description":"Optionally filter Supervisors by battery percentage","schema":{"type":"integer"},"example":12},{"name":"connectionStatus","in":"query","description":"Optionally filter Supervisors by connection status","schema":{"type":"string","enum":["UNKNOWN","CONNECTED","DISCONNECTED"],"example":"DISCONNECTED"},"example":"DISCONNECTED"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this Supervisor belongs","schema":{"type":"boolean"},"example":true},{"name":"includeLatestState","in":"query","description":"Optionally include the Supervisor's latest state.","schema":{"type":"boolean"}},{"name":"signal","in":"query","description":"Optionally filter Supervisors by their derived signal strength","schema":{"type":"string","enum":["UNKNOWN","STRONG","FAIR","LOW"],"example":"STRONG"},"example":"STRONG"},{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/supervisors.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]},"put":{"summary":"Update a supervisor","operationId":"updateSupervisor","parameters":[{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/supervisors.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': true,\n    'model': 'Moko_LW003B',\n    'name': 'Primary iBeacon Supervisor',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'appEui': '0000000000000001',\n    'appKey': 'ae4e4470e68a4fbd941b77ec0018cfba',\n    'blePassword': 'be4e4470e68a4fbd941b77ec0018cfbb',\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'eui': '0205f041c8e3e647',\n    'floorId': '18e1f328-ffd0-4000-84d5-4a52e2fb2101',\n    'isDecommissioned': True,\n    'model': 'Moko_LW003B',\n    'name': 'Primary iBeacon Supervisor',\n    'pinnedLocation': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'zoneId': '18e1f328-ffd0-4000-8e64-4f8e4e3f1101'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"appEui\": \"0000000000000001\",\n         \"appKey\": \"ae4e4470e68a4fbd941b77ec0018cfba\",\n         \"blePassword\": \"be4e4470e68a4fbd941b77ec0018cfbb\",\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"eui\": \"0205f041c8e3e647\",\n         \"floorId\": \"18e1f328-ffd0-4000-84d5-4a52e2fb2101\",\n         \"isDecommissioned\": true,\n         \"model\": \"Moko_LW003B\",\n         \"name\": \"Primary iBeacon Supervisor\",\n         \"pinnedLocation\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"zoneId\": \"18e1f328-ffd0-4000-8e64-4f8e4e3f1101\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]},"delete":{"summary":"Delete a supervisor","operationId":"deleteSupervisor","parameters":[{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/supervisors/{supervisorId}/decommission":{"post":{"summary":"Create a supervisor decommission","operationId":"createSupervisorDecommission","parameters":[{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors_decommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_supervisor.decommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/decommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/decommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/decommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/supervisors/{supervisorId}/downlink-messages":{"get":{"summary":"List all supervisor downlink messages","operationId":"getSupervisorDownlinkMessages","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/supervisors_downlink-messages.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]},"post":{"summary":"Create a supervisor downlink message","operationId":"createSupervisorDownlinkMessage","parameters":[{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors_downlink-messages.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/supervisors_downlink-messages.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}":{"get":{"summary":"Get a supervisor downlink message","operationId":"getSupervisorDownlinkMessage","parameters":[{"name":"downlinkMessageId","in":"path","description":"The downlink message id path parameter","required":true,"schema":{"type":"string"}},{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/supervisors_downlink-messages.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]},"put":{"summary":"Update a supervisor downlink message","operationId":"updateSupervisorDownlinkMessage","parameters":[{"name":"downlinkMessageId","in":"path","description":"The downlink message id path parameter","required":true,"schema":{"type":"string"}},{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors_downlink-messages.request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/supervisors_downlink-messages.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]},"delete":{"summary":"Delete a supervisor downlink message","operationId":"deleteSupervisorDownlinkMessage","parameters":[{"name":"downlinkMessageId","in":"path","description":"The downlink message id path parameter","required":true,"schema":{"type":"string"}},{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/downlink-messages/{downlinkMessageId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/supervisors/{supervisorId}/recommission":{"post":{"summary":"Create a supervisor recommission","operationId":"createSupervisorRecommission","parameters":[{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors_recommission.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_supervisor.recommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/recommission\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/recommission\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/recommission\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/supervisors/{supervisorId}/reset":{"post":{"summary":"Create a supervisor reset","operationId":"createSupervisorReset","parameters":[{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors_reset.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_supervisor.reset.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/reset\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/reset\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/reset\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/supervisors/{supervisorId}/swap":{"post":{"summary":"Create a supervisor swap","operationId":"createSupervisorSwap","parameters":[{"name":"supervisorId","in":"path","description":"The supervisor id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/supervisors_swap.post-request"}}}},"responses":{"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field replacementId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"description":"A successful response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deleteSource': false,\n    'replacementId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'transferLocation': true,\n    'transferName': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/swap\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/swap\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deleteSource': False,\n    'replacementId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'transferLocation': True,\n    'transferName': True\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/supervisors/{supervisorId}/swap\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deleteSource\": false,\n         \"replacementId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"transferLocation\": true,\n         \"transferName\": true}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Supervisors"]}},"/v1/system-health-events":{"get":{"summary":"List all system health events","operationId":"getSystemHealthEvents","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/system-health-events.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/system-health-events\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/system-health-events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/system-health-events\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all alarm events associated with a set of alarms available to the current user.","tags":["System Health Events"]}},"/v1/system-health-events/{systemHealthEventId}":{"get":{"summary":"Get a system health event","operationId":"getSystemHealthEvent","parameters":[{"name":"systemHealthEventId","in":"path","description":"The system health event id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/system-health-events.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/system-health-events/{systemHealthEventId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/system-health-events/{systemHealthEventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/system-health-events/{systemHealthEventId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["System Health Events"]}},"/v1/tracking-event-notifications":{"get":{"summary":"List all tracking event notifications","operationId":"getTrackingEventNotifications","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"messageTemplateId","in":"query","description":"Message template to use if a notification is to be sent out. Note, this message template must have recipients (Distribution Lists or Users) built into it","schema":{"type":"string","format":"uuid"},"example":"d2d02884-7ceb-11ee-9061-050e02dd61f4"},{"name":"name","in":"query","description":"The name of the tracking event notification","schema":{"type":"string","maximum":140},"example":"Pizza delivery"},{"name":"q","in":"query","description":"Perform a term (stemming) search on tracking event names","schema":{"type":"string"},"example":"Pizza"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/tracking-event-notifications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all tracking event notifications.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Event Notifications"]},"post":{"summary":"Create a tracking event notification","operationId":"createTrackingEventNotification","parameters":[{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tracking-event-notifications.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-event-notifications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'type': 'feature'\n    },\n    'latLonIgnore': false,\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Pizza delivery',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'type': 'feature'\n    },\n    'latLonIgnore': False,\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Pizza delivery',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"geometryType\": \"point\",\n         \"geometryValue\": {\n             \"geometry\": {\n                 \"coordinates\": [\n                     -89.3412,\n                     43.1471\n                 ],\n                 \"type\": \"point\"\n             },\n             \"type\": \"feature\"\n         },\n         \"latLonIgnore\": false,\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Pizza delivery\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Creates a tracking event notification.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Event Notifications"]}},"/v1/tracking-event-notifications/{trackingEventNotificationId}":{"get":{"summary":"Get a tracking event notification","operationId":"getTrackingEventNotification","parameters":[{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"trackingEventNotificationId","in":"path","description":"The tracking event notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-event-notifications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single tracking event notification by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Event Notifications"]},"put":{"summary":"Update a tracking event notification","operationId":"updateTrackingEventNotification","parameters":[{"name":"includeDistributionLists","in":"query","description":"Include embedded copies of the recipient distribution lists in the response; defaults to true","schema":{"type":"boolean"}},{"name":"includeUsers","in":"query","description":"Include embedded copies of the recipient users in the response; defaults to true","schema":{"type":"boolean"}},{"name":"trackingEventNotificationId","in":"path","description":"The tracking event notification id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tracking-event-notifications.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-event-notifications.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'type': 'feature'\n    },\n    'latLonIgnore': false,\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Pizza delivery',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'distributionListIds': [\n        '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c'\n    ],\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'type': 'feature'\n    },\n    'latLonIgnore': False,\n    'messageTemplateId': 'd2d02884-7ceb-11ee-9061-050e02dd61f4',\n    'name': 'Pizza delivery',\n    'userIds': [\n        'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0'\n    ]\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"distributionListIds\": [\n             \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\"\n         ],\n         \"geometryType\": \"point\",\n         \"geometryValue\": {\n             \"geometry\": {\n                 \"coordinates\": [\n                     -89.3412,\n                     43.1471\n                 ],\n                 \"type\": \"point\"\n             },\n             \"type\": \"feature\"\n         },\n         \"latLonIgnore\": false,\n         \"messageTemplateId\": \"d2d02884-7ceb-11ee-9061-050e02dd61f4\",\n         \"name\": \"Pizza delivery\",\n         \"userIds\": [\n             \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\"\n         ]}'\n"}],"description":"Updates an existing tracking event notification.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Event Notifications"]},"delete":{"summary":"Delete a tracking event notification","operationId":"deleteTrackingEventNotification","parameters":[{"name":"trackingEventNotificationId","in":"path","description":"The tracking event notification id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-event-notifications/{trackingEventNotificationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Event Notifications"]}},"/v1/tracking-events":{"get":{"summary":"List all tracking events","operationId":"getTrackingEvents","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"incidentId","in":"query","description":"The ID of the incident a tracking event belongs to","schema":{"type":"string","format":"uuid"}},{"name":"includeInitiatingResource","in":"query","description":"Whether to include the resource used to initiate tracking in the response. This may be a Confirmation Request or Panic Button Scenario. If this param is not passed, the `confirmationRequest` and `scenario` fields will both return as `null`. Otherwise, the appropriate resource will be returned as a JSON object containing the name and id.","schema":{"type":"boolean"}},{"name":"includeSummary","in":"query","description":"Whether or not to include the summary of tracking activities","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of the Tracking Event","schema":{"type":"string","maximum":140},"example":"Chemical Spill"},{"name":"ongoingPanicsOnly","in":"query","description":"Whether to only include Ongoing Panic events in the response","schema":{"type":"boolean"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on tracking event names","schema":{"type":"string"},"example":"Chemical Spill"},{"name":"scenarioType","in":"query","description":"The type of the scenario that initiated this tracking event, available only when `includeInitiatingResource` is `true`<br>_Specifying value 'standard' requires 'Reach'._<br>_Specifying value 'panic-button' requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"string","enum":["standard","panic-button"]}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"state","in":"query","description":"The state of this event","schema":{"type":"string","enum":["active","completed"],"example":"active"},"example":"active"},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/tracking-events.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all tracking events.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Events"]},"post":{"summary":"Create a tracking event","operationId":"createTrackingEvent","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tracking-events.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-events.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deviceId': 'e950196f-6f12-47b9-9c5f-e0708d2bfa06',\n    'initiatorId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0',\n    'name': 'Chemical Spill',\n    'state': 'active'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deviceId': 'e950196f-6f12-47b9-9c5f-e0708d2bfa06',\n    'initiatorId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0',\n    'name': 'Chemical Spill',\n    'state': 'active'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deviceId\": \"e950196f-6f12-47b9-9c5f-e0708d2bfa06\",\n         \"initiatorId\": \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\",\n         \"name\": \"Chemical Spill\",\n         \"state\": \"active\"}'\n"}],"description":"This is generally not done via the API. Tracking events are normally created by the system when someone sends a notification with a confirmation request and that confirmation request has options that expect tracking to be activated.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Events"]}},"/v1/tracking-events/{trackingEventId}":{"get":{"summary":"Get a tracking event","operationId":"getTrackingEvent","parameters":[{"name":"includeInitiatingResource","in":"query","description":"Whether to include the resource used to initiate tracking in the response. This may be a Confirmation Request or Panic Button Scenario. If this param is not passed, the `confirmationRequest` and `scenario` fields will both return as `null`. Otherwise, the appropriate resource will be returned as a JSON object containing the name and id.","schema":{"type":"boolean"}},{"name":"includeSummary","in":"query","description":"Whether or not to include the summary of tracking activities","schema":{"type":"boolean"}},{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-events.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single tracking event by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Events"]},"put":{"summary":"Update a tracking event","operationId":"updateTrackingEvent","parameters":[{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tracking-events.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-events.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deviceId': 'e950196f-6f12-47b9-9c5f-e0708d2bfa06',\n    'initiatorId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0',\n    'name': 'Chemical Spill',\n    'state': 'active'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deviceId': 'e950196f-6f12-47b9-9c5f-e0708d2bfa06',\n    'initiatorId': 'ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0',\n    'name': 'Chemical Spill',\n    'state': 'active'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deviceId\": \"e950196f-6f12-47b9-9c5f-e0708d2bfa06\",\n         \"initiatorId\": \"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0\",\n         \"name\": \"Chemical Spill\",\n         \"state\": \"active\"}'\n"}],"description":"Updates an existing tracking event.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Events"]},"delete":{"summary":"Delete a tracking event","operationId":"deleteTrackingEvent","parameters":[{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Tracking Events"]}},"/v1/tracking-events/{trackingEventId}/activities":{"get":{"summary":"List all tracking event activities","operationId":"getTrackingEventActivities","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"deviceId","in":"query","description":"The ID of the device in IcMobile","schema":{"type":"string","format":"uuid"},"example":"ed612784-ab29-11ee-a6b4-5f9820659170"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"state","in":"query","description":"The state of this activity entry: `started` - first registered location for a device when a tracking event starts, `updated` - new location information for a device with an existing tracking event, `terminated` - set by admin when terminating individual device's location services","schema":{"type":"string","enum":["started","updated","completed","permission-denied","terminated","logged-out"],"example":"started"},"example":"started"},{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"query","description":"ID of the user who performed the activity","schema":{"type":"string","format":"uuid"},"example":"2da49d5a-7e6a-11ee-8731-4f79b4af6db7"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/tracking-events_activities.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all tracking events activities for a tracking event.","tags":["Tracking Event Activities"]},"post":{"summary":"Create a tracking event activity","operationId":"createTrackingEventActivity","parameters":[{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tracking-events_activities.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-events_activities.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deviceId': 'ed612784-ab29-11ee-a6b4-5f9820659170',\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'properties': {\n            'accuracyInM': 250,\n            'bearing': 90.0,\n            'speedInMetersPerSec': 35.0\n        },\n        'type': 'feature'\n    },\n    'pollingIntervalSecs': 55,\n    'state': 'started',\n    'trackingEventId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n    'userId': '2da49d5a-7e6a-11ee-8731-4f79b4af6db7'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deviceId': 'ed612784-ab29-11ee-a6b4-5f9820659170',\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'properties': {\n            'accuracyInM': 250,\n            'bearing': 90.0,\n            'speedInMetersPerSec': 35.0\n        },\n        'type': 'feature'\n    },\n    'pollingIntervalSecs': 55,\n    'state': 'started',\n    'trackingEventId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n    'userId': '2da49d5a-7e6a-11ee-8731-4f79b4af6db7'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deviceId\": \"ed612784-ab29-11ee-a6b4-5f9820659170\",\n         \"geometryType\": \"point\",\n         \"geometryValue\": {\n             \"geometry\": {\n                 \"coordinates\": [\n                     -89.3412,\n                     43.1471\n                 ],\n                 \"type\": \"point\"\n             },\n             \"properties\": {\n                 \"accuracyInM\": 250,\n                 \"bearing\": 90.0,\n                 \"speedInMetersPerSec\": 35.0\n             },\n             \"type\": \"feature\"\n         },\n         \"pollingIntervalSecs\": 55,\n         \"state\": \"started\",\n         \"trackingEventId\": \"80a5b997-e0b9-11ee-80c3-b5928b1c397d\",\n         \"userId\": \"2da49d5a-7e6a-11ee-8731-4f79b4af6db7\"}'\n"}],"tags":["Tracking Event Activities"]}},"/v1/tracking-events/{trackingEventId}/activities/{activityId}":{"get":{"summary":"Get a tracking event activity","operationId":"getTrackingEventActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-events_activities.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single tracking event activity by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Tracking Event Activities"]},"put":{"summary":"Update a tracking event activity","operationId":"updateTrackingEventActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tracking-events_activities.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracking-events_activities.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'deviceId': 'ed612784-ab29-11ee-a6b4-5f9820659170',\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'properties': {\n            'accuracyInM': 250,\n            'bearing': 90.0,\n            'speedInMetersPerSec': 35.0\n        },\n        'type': 'feature'\n    },\n    'pollingIntervalSecs': 55,\n    'state': 'started',\n    'trackingEventId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n    'userId': '2da49d5a-7e6a-11ee-8731-4f79b4af6db7'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'deviceId': 'ed612784-ab29-11ee-a6b4-5f9820659170',\n    'geometryType': 'point',\n    'geometryValue': {\n        'geometry': {\n            'coordinates': [\n                -89.3412,\n                43.1471\n            ],\n            'type': 'point'\n        },\n        'properties': {\n            'accuracyInM': 250,\n            'bearing': 90.0,\n            'speedInMetersPerSec': 35.0\n        },\n        'type': 'feature'\n    },\n    'pollingIntervalSecs': 55,\n    'state': 'started',\n    'trackingEventId': '80a5b997-e0b9-11ee-80c3-b5928b1c397d',\n    'userId': '2da49d5a-7e6a-11ee-8731-4f79b4af6db7'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"deviceId\": \"ed612784-ab29-11ee-a6b4-5f9820659170\",\n         \"geometryType\": \"point\",\n         \"geometryValue\": {\n             \"geometry\": {\n                 \"coordinates\": [\n                     -89.3412,\n                     43.1471\n                 ],\n                 \"type\": \"point\"\n             },\n             \"properties\": {\n                 \"accuracyInM\": 250,\n                 \"bearing\": 90.0,\n                 \"speedInMetersPerSec\": 35.0\n             },\n             \"type\": \"feature\"\n         },\n         \"pollingIntervalSecs\": 55,\n         \"state\": \"started\",\n         \"trackingEventId\": \"80a5b997-e0b9-11ee-80c3-b5928b1c397d\",\n         \"userId\": \"2da49d5a-7e6a-11ee-8731-4f79b4af6db7\"}'\n"}],"tags":["Tracking Event Activities"]},"delete":{"summary":"Delete a tracking event activity","operationId":"deleteTrackingEventActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tracking-events/{trackingEventId}/activities/{activityId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Tracking Event Activities"]}},"/v1/triggers":{"get":{"summary":"List all triggers","operationId":"getTriggers","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/triggers.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all triggers. (The [Permissions](#tag--User-Permissions) and\n[Security Groups](#tag--User-Security-Groups) associated with the request, through the user attached to the\naccess token, may limit the resources returned. Generally only administrative users will be able to manipulate triggers.)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Triggers"]},"post":{"summary":"Create a trigger","operationId":"createTrigger","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/triggers.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/triggers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Batch load requests web hook',\n    'spec': '/load-definitions/*/load-requests/*',\n    'type': 'webhook',\n    'url': 'https://username:password@my-host.com/icmobile-trigger/'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Batch load requests web hook',\n    'spec': '/load-definitions/*/load-requests/*',\n    'type': 'webhook',\n    'url': 'https://username:password@my-host.com/icmobile-trigger/'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Batch load requests web hook\",\n         \"spec\": \"/load-definitions/*/load-requests/*\",\n         \"type\": \"webhook\",\n         \"url\": \"https://username:password@my-host.com/icmobile-trigger/\"}'\n"}],"description":"Creates a trigger that will post information about any changes made to a particular resource or group of resources.\n\n> ⚠️ When you create a trigger of type `sqs` the owner of the queue specified in the trigger's\n> `url` must grant permission for InformaCast Mobile to post to the queue as described\n> [here](#tag--Triggers)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Triggers"]}},"/v1/triggers/{triggerId}":{"get":{"summary":"Get a trigger","operationId":"getTrigger","parameters":[{"name":"triggerId","in":"path","description":"The trigger id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/triggers.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single trigger by `id`. Since this is not a list request, there is no pagination wrapper around the result.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Triggers"]},"put":{"summary":"Update a trigger","operationId":"updateTrigger","parameters":[{"name":"triggerId","in":"path","description":"The trigger id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/triggers.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/triggers.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Batch load requests web hook',\n    'spec': '/load-definitions/*/load-requests/*',\n    'type': 'webhook',\n    'url': 'https://username:password@my-host.com/icmobile-trigger/'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Batch load requests web hook',\n    'spec': '/load-definitions/*/load-requests/*',\n    'type': 'webhook',\n    'url': 'https://username:password@my-host.com/icmobile-trigger/'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Batch load requests web hook\",\n         \"spec\": \"/load-definitions/*/load-requests/*\",\n         \"type\": \"webhook\",\n         \"url\": \"https://username:password@my-host.com/icmobile-trigger/\"}'\n"}],"description":"Updates an existing trigger, changing any aspect of it.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Triggers"]},"delete":{"summary":"Delete a trigger","operationId":"deleteTrigger","parameters":[{"name":"triggerId","in":"path","description":"The trigger id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/triggers/{triggerId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes a trigger, canceling any future reports about the resource it had been monitoring.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Triggers"]}},"/v1/tts":{"post":{"summary":"Create a tts preview","operationId":"createTt","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tts.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_tts.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field ttsType is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'return': 'hash',\n    'subject': 'Earl Grey tea, hot, is in the kitchen.',\n    'ttsType': 'subject',\n    'ttsVoiceId': '751e56a1-841a-11ea-a32f-3767c65554ed'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'return': 'hash',\n    'subject': 'Earl Grey tea, hot, is in the kitchen.',\n    'ttsType': 'subject',\n    'ttsVoiceId': '751e56a1-841a-11ea-a32f-3767c65554ed'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"return\": \"hash\",\n         \"subject\": \"Earl Grey tea, hot, is in the kitchen.\",\n         \"ttsType\": \"subject\",\n         \"ttsVoiceId\": \"751e56a1-841a-11ea-a32f-3767c65554ed\"}'\n"}],"description":"Typically, this is done in a single step, and the actual audio data is returned in response to the `POST`. If it is more convenient to separate the creation from the retrieval of the audio, the query parameter `return` can be passed with the value `hash`, and after creating or finding the audio, a description of it will be returned that includes the hash value that can be used with `GET` when the audio itself is desired.\n\nReturns the audio of the synthesized speech, or the hash that can be used to obtain it (as described above), that results from the specified parameters.\n\nFor debugging purposes it is also possible to simulate a failure of text-to-speech by sending the value `fail` in the `return` query parameter. This will return the audio that reports that TTS failed.","tags":["Text-to-Speech Previews"]}},"/v1/tts-defaults":{"get":{"summary":"List all tts defaults","operationId":"getTtsDefaults","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/tts-defaults.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all the text-to-speech defaults. There will always only be one entry in this list.","tags":["Text-to-Speech Defaults"]}},"/v1/tts-defaults/{ttsDefaultId}":{"get":{"summary":"Get a tts default","operationId":"getTtsDefault","parameters":[{"name":"ttsDefaultId","in":"path","description":"The tts default id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts-defaults.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults/{ttsDefaultId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults/{ttsDefaultId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults/{ttsDefaultId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the single text-to-speech defaults entry based on its id. Since this is not a list request, there is no pagination wrapper around the result, which would be the only reason to bother performing the request this way, but it would require already knowing the value of `id`.","tags":["Text-to-Speech Defaults"]},"put":{"summary":"Update a tts default","operationId":"updateTtsDefault","parameters":[{"name":"ttsDefaultId","in":"path","description":"The tts default id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tts-defaults.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts-defaults.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field language is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'ttsVoiceId': '751de142-841a-11ea-a32f-17f989f7588d'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults/{ttsDefaultId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults/{ttsDefaultId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'ttsVoiceId': '751de142-841a-11ea-a32f-17f989f7588d'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-defaults/{ttsDefaultId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"ttsVoiceId\": \"751de142-841a-11ea-a32f-17f989f7588d\"}'\n"}],"description":"Updates the text-to-speech defaults, allowing you to specify a different default voice to be used when configuring new message templates. (Changing the default has no effect on message templates that are already using text-to-speech.)","tags":["Text-to-Speech Defaults"]}},"/v1/tts-lexicons":{"get":{"summary":"List all TTS lexicon entries","operationId":"getTtsLexicons","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/tts-lexicons.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all lexicon entries available to the current user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned.)","tags":["Text-to-Speech Lexicon"]},"post":{"summary":"Create a TTS lexicon entry","operationId":"createTtsLexicon","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tts-lexicons.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts-lexicons.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field language is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'find': 'omw',\n    'language': 'en-US',\n    'replace': 'on my way'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'find': 'omw',\n    'language': 'en-US',\n    'replace': 'on my way'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"find\": \"omw\",\n         \"language\": \"en-US\",\n         \"replace\": \"on my way\"}'\n"}],"description":"Create a new text-to-speech lexicon entry.","tags":["Text-to-Speech Lexicon"]}},"/v1/tts-lexicons/{ttsLexiconId}":{"get":{"summary":"Get a TTS lexicon entry","operationId":"getTtsLexicon","parameters":[{"name":"ttsLexiconId","in":"path","description":"The tts lexicon id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts-lexicons.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single lexicon entry by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Text-to-Speech Lexicon"]},"put":{"summary":"Update a TTS lexicon entry","operationId":"updateTtsLexicon","parameters":[{"name":"ttsLexiconId","in":"path","description":"The tts lexicon id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/tts-lexicons.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts-lexicons.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field language is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'find': 'omw',\n    'language': 'en-US',\n    'replace': 'on my way'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'find': 'omw',\n    'language': 'en-US',\n    'replace': 'on my way'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"find\": \"omw\",\n         \"language\": \"en-US\",\n         \"replace\": \"on my way\"}'\n"}],"description":"Updates an existing text-to-speech lexicon entry by `id`.","tags":["Text-to-Speech Lexicon"]},"delete":{"summary":"Delete a TTS lexicon entry","operationId":"deleteTtsLexicon","parameters":[{"name":"ttsLexiconId","in":"path","description":"The tts lexicon id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-lexicons/{ttsLexiconId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Text-to-Speech Lexicon"]}},"/v1/tts-voices":{"get":{"summary":"List all tts voices","operationId":"getTtsVoices","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/tts-voices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-voices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-voices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-voices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all the voices that are available for text-to-speech synthesis.","tags":["Text-to-Speech Voices"]}},"/v1/tts-voices/{ttsVoiceId}":{"get":{"summary":"Get a tts voice","operationId":"getTtsVoice","parameters":[{"name":"ttsVoiceId","in":"path","description":"The tts voice id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tts-voices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-voices/{ttsVoiceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-voices/{ttsVoiceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts-voices/{ttsVoiceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single text-to-speech voice based on its id. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Text-to-Speech Voices"]}},"/v1/tts/{audioHash}":{"get":{"summary":"Get a tts preview","operationId":"getTt","parameters":[{"name":"audioHash","in":"path","description":"The audio hash path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_tts.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/tts/{audioHash}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts/{audioHash}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/tts/{audioHash}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the audio, if any, with the specified hash. Typically, this is in PCM (WAV) format.","tags":["Text-to-Speech Previews"]}},"/v1/user-devices":{"get":{"summary":"List all users' devices","operationId":"getUserDevices","parameters":[{"name":"deviceNames","in":"query","description":"Order devices by their names in ascending or descending order","schema":{"type":"string","enum":["asc","desc"],"example":"asc"},"example":"asc"},{"name":"deviceTypes","in":"query","description":"A comma separated list of types of the devices to filter on","schema":{"type":"string"},"example":"mobile"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the user device","schema":{"type":"string"},"example":"iPhone 13"},{"name":"q","in":"query","description":"Perform a term (stemming) search on user device names","schema":{"type":"string"},"example":"iPhon"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"updatedAt","in":"query","description":"Time the device was last updated","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"userIds","in":"query","description":"A list of user ids to filter the user devices on.","schema":{"type":"array","items":{"type":"string","format":"uuid"},"uniqueItems":true},"example":["e4e7860d-fb72-11e5-93a8-7b0393df5405"]},{"name":"userNames","in":"query","description":"Order devices by their owner names in ascending or descending order","schema":{"type":"string","enum":["asc","desc"],"example":"asc"},"example":"asc"},{"name":"userTypes","in":"query","description":"A comma separated list of types of the users to filter on","schema":{"type":"string"},"example":"regular"},{"name":"verified","in":"query","description":"Whether the user has confirmed ownership of this device","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/user-devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/user-devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/user-devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/user-devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of devices registered to InformaCast users.","tags":["User Devices"]}},"/v1/users":{"get":{"summary":"List all users","operationId":"getUsers","parameters":[{"name":"actingFacilityId","in":"query","description":"Filter results by the current acting facility id the user is associated with","schema":{"type":"string","format":"uuid"}},{"name":"application","in":"query","description":"Used only with users whose type is `application`; specifies the type of application","schema":{"type":"string","enum":["cloud-user-loader","mobile-plugin","desktop-registration","user-loader","custom","visitor-aware"]}},{"name":"areaOfInterestId","in":"query","description":"When present, limits results to users within the specified area of interest","schema":{"type":"string","format":"uuid"},"example":"5912e123-eba3-11ee-b4d4-796337e34e79"},{"name":"deviceIdentifier","in":"query","description":"When present, limits results to users having a device with the specified identifier","schema":{"type":"string"},"example":"+1234567890"},{"name":"deviceType","in":"query","description":"When present, limits results to users having devices of this type","schema":{"type":"string"},"example":"phone-call"},{"name":"email","in":"query","description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","schema":{"type":"string","maximum":254},"example":"john.doe@example.com"},{"name":"endpointId","in":"query","description":"ID of the Fusion server the user belongs to, if any","schema":{"type":"string","format":"uuid"},"example":"f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1"},{"name":"excludeScim","in":"query","description":"When supplied, excludes users that are associated with cloud user loaders","schema":{"type":"boolean"},"example":false},{"name":"globalFacilityId","in":"query","description":"Filter results by the global facility id the user is associated with","schema":{"type":"string","format":"uuid"}},{"name":"includeApplications","in":"query","description":"The types of applications to include. Used only with users whose type is `application`; specifies the type of application","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true,"maximum":1024},"example":["mobile-plugin"]},{"name":"includeFacilities","in":"query","description":"If `true`, include the facilities to which this user belongs","schema":{"type":"boolean"},"example":true},{"name":"includeIdp","in":"query","description":"Whether to include identity provider information in the response: if `true`, the attributes `providerIdpId`, `passwordResetRequired`, and `tfaRemovalRequired` will be returned, along with a `providerIdp` object that describes the identity provider assigned to the user (if `providerIdp` is `null`, this will be the default identity provider)","schema":{"type":"boolean"},"example":false},{"name":"includeLoadSource","in":"query","description":"Whether to display load source","schema":{"type":"boolean"},"example":false},{"name":"includeLoadSourceIds","in":"query","description":"The load-source-ids to include.","schema":{"type":"array","items":{"type":"string","format":"uuid"},"uniqueItems":true,"maximum":1024},"example":["8534a3b4-eba3-11ee-b4d4-eb39fb720087"]},{"name":"includeTypes","in":"query","description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","schema":{"type":"array","items":{"type":"string"},"uniqueItems":true,"maximum":1024},"example":["regular"]},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The user's name","schema":{"type":"string","maximum":140},"example":"John Doe"},{"name":"providerIdpId","in":"query","description":"The ID of the identity provider used for authenticating the user. When used for filtering users, the result will only include users whose providerIdpId matches the specified IDP id","schema":{"type":"string","format":"uuid"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on user names, email, and phone number segments (for anonymous users)","schema":{"type":"string"},"example":"John"},{"name":"sort","in":"query","description":"Sorts users by name or email. Default to name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"string","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular"},"example":"regular"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all Users. (The permissions associated with the request, through the user attached to the access token, may limit the visibility of results.)","tags":["Users"]},"post":{"summary":"Create a user","operationId":"createUser","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'email': 'john.doe@example.com',\n    'endpointId': 'f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1',\n    'idleTimeout': 5,\n    'includeApplications': [\n        'mobile-plugin'\n    ],\n    'includeLoadSourceIds': [\n        '8534a3b4-eba3-11ee-b4d4-eb39fb720087'\n    ],\n    'includeTypes': [\n        'regular'\n    ],\n    'isLocked': false,\n    'name': 'John Doe',\n    'type': 'regular'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'email': 'john.doe@example.com',\n    'endpointId': 'f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1',\n    'idleTimeout': 5,\n    'includeApplications': [\n        'mobile-plugin'\n    ],\n    'includeLoadSourceIds': [\n        '8534a3b4-eba3-11ee-b4d4-eb39fb720087'\n    ],\n    'includeTypes': [\n        'regular'\n    ],\n    'isLocked': False,\n    'name': 'John Doe',\n    'type': 'regular'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"email\": \"john.doe@example.com\",\n         \"endpointId\": \"f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1\",\n         \"idleTimeout\": 5,\n         \"includeApplications\": [\n             \"mobile-plugin\"\n         ],\n         \"includeLoadSourceIds\": [\n             \"8534a3b4-eba3-11ee-b4d4-eb39fb720087\"\n         ],\n         \"includeTypes\": [\n             \"regular\"\n         ],\n         \"isLocked\": false,\n         \"name\": \"John Doe\",\n         \"type\": \"regular\"}'\n"}],"description":"Create a new user.","tags":["Users"]}},"/v1/users/{userId}":{"get":{"summary":"Get a user","operationId":"getUser","parameters":[{"name":"excludeScim","in":"query","description":"When supplied, excludes users that are associated with cloud user loaders","schema":{"type":"boolean"},"example":false},{"name":"includeFacilities","in":"query","description":"If `true`, include the facilities to which this user belongs","schema":{"type":"boolean"},"example":true},{"name":"includeIdp","in":"query","description":"Whether to include identity provider information in the response: if `true`, the attributes `providerIdpId`, `passwordResetRequired`, and `tfaRemovalRequired` will be returned, along with a `providerIdp` object that describes the identity provider assigned to the user (if `providerIdp` is `null`, this will be the default identity provider)","schema":{"type":"boolean"},"example":false},{"name":"includeLoadSource","in":"query","description":"Whether to display load source","schema":{"type":"boolean"},"example":false},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single user by `id`.","tags":["Users"]},"put":{"summary":"Update a user","operationId":"updateUser","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'email': 'john.doe@example.com',\n    'endpointId': 'f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1',\n    'idleTimeout': 5,\n    'includeApplications': [\n        'mobile-plugin'\n    ],\n    'includeLoadSourceIds': [\n        '8534a3b4-eba3-11ee-b4d4-eb39fb720087'\n    ],\n    'includeTypes': [\n        'regular'\n    ],\n    'isLocked': false,\n    'name': 'John Doe',\n    'type': 'regular'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'email': 'john.doe@example.com',\n    'endpointId': 'f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1',\n    'idleTimeout': 5,\n    'includeApplications': [\n        'mobile-plugin'\n    ],\n    'includeLoadSourceIds': [\n        '8534a3b4-eba3-11ee-b4d4-eb39fb720087'\n    ],\n    'includeTypes': [\n        'regular'\n    ],\n    'isLocked': False,\n    'name': 'John Doe',\n    'type': 'regular'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"email\": \"john.doe@example.com\",\n         \"endpointId\": \"f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1\",\n         \"idleTimeout\": 5,\n         \"includeApplications\": [\n             \"mobile-plugin\"\n         ],\n         \"includeLoadSourceIds\": [\n             \"8534a3b4-eba3-11ee-b4d4-eb39fb720087\"\n         ],\n         \"includeTypes\": [\n             \"regular\"\n         ],\n         \"isLocked\": false,\n         \"name\": \"John Doe\",\n         \"type\": \"regular\"}'\n"}],"description":"Updates an existing user.","tags":["Users"]},"delete":{"summary":"Delete a user","operationId":"deleteUser","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["Users"]}},"/v1/users/{userId}/all-permission-sets":{"get":{"summary":"List all user all permission sets","operationId":"getUserAllPermissionSets","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_all-permission-sets"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/all-permission-sets\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/all-permission-sets\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/all-permission-sets\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["User Permissions"]}},"/v1/users/{userId}/all-permissions":{"get":{"summary":"List all user permissions","operationId":"getUserAllPermissions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_all-permissions"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/all-permissions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/all-permissions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/all-permissions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all the permissions assigned directly to a\nspecified user. They may have other permissions indirectly, through\nmembership in [Security Groups](#tag--Security-Groups).","tags":["User Permissions"]}},"/v1/users/{userId}/devices":{"get":{"summary":"List a user's devices","operationId":"getUsersDevices","parameters":[{"name":"clientIdentifier","in":"query","description":"A unique identifier for the client application such as an id to identify mobile app installs uniquely.","schema":{"type":"string","maximum":4096},"example":"+1234567890"},{"name":"deviceIdentifier","in":"query","description":"Sending identifier of device. Depending on the type, this may be an APNS push token, GCM token, email address, phone number, etc","schema":{"type":"string","maximum":4096},"example":"+1234567890"},{"name":"includeAois","in":"query","description":"Whether areas of interest will be included or not. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"includeEndpointDevices","in":"query","description":"Whether endpoint devices will be included or not. Defaults to `true`.","schema":{"type":"boolean"}},{"name":"licensed","in":"query","description":"Whether or not to invoke the license filter","schema":{"type":"boolean"},"example":true},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Name of device","schema":{"type":"string","maximum":255},"example":"Mobile"},{"name":"q","in":"query","description":"Perform a term (stemming) search on user device names, types, numbers, or device identifiers","schema":{"type":"string"},"example":"Break Room Phone"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"Type of device, currently `apns`, `apns-sandbox`, `WNS`, `apns-desktop`, `apns-desktop-sandbox`, `SMS`, `phone-call`, `singlewire:email`, or `Android`<br>_Specifying value 'apns' requires 'Reach'._<br>_Specifying value 'apns-sandbox' requires 'Reach'._<br>_Specifying value 'WNS' requires 'Reach'._<br>_Specifying value 'apns-desktop' requires 'Reach'._<br>_Specifying value 'apns-desktop-sandbox' requires 'Reach'._<br>_Specifying value 'android' requires 'Reach'._<br>_Specifying value 'msteams-chat' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","schema":{"type":"string","maximum":140},"example":"phone-call"},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}},{"name":"verified","in":"query","description":"Whether the user has confirmed ownership of this device","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all devices registered to a particular user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. A user will generally be able to see all devices they registered, but ordinary users will not be able to see devices registered by other users).","tags":["User Devices"]},"post":{"summary":"Register a device","operationId":"createUsersDevice","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_devices.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_devices.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'build': 'Revision-1.5.77',\n    'client': '00000000300BCE07',\n    'clientIdentifier': '+1234567890',\n    'deviceIdentifier': '+1234567890',\n    'disabled': false,\n    'name': 'Mobile',\n    'os': 'iOS',\n    'presence': {\n        'accuracyInM': 250,\n        'areaOfInterestIds': [\n            '84b9bcc9-e22b-11ee-8194-07b35b9ef12c'\n        ],\n        'areasOfInterestChecksum': 'MD5:4a225ca3722b16ae8c2a66169f3e6a91'\n    },\n    'type': 'phone-call',\n    'verified': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'build': 'Revision-1.5.77',\n    'client': '00000000300BCE07',\n    'clientIdentifier': '+1234567890',\n    'deviceIdentifier': '+1234567890',\n    'disabled': False,\n    'name': 'Mobile',\n    'os': 'iOS',\n    'presence': {\n        'accuracyInM': 250,\n        'areaOfInterestIds': [\n            '84b9bcc9-e22b-11ee-8194-07b35b9ef12c'\n        ],\n        'areasOfInterestChecksum': 'MD5:4a225ca3722b16ae8c2a66169f3e6a91'\n    },\n    'type': 'phone-call',\n    'verified': True\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"build\": \"Revision-1.5.77\",\n         \"client\": \"00000000300BCE07\",\n         \"clientIdentifier\": \"+1234567890\",\n         \"deviceIdentifier\": \"+1234567890\",\n         \"disabled\": false,\n         \"name\": \"Mobile\",\n         \"os\": \"iOS\",\n         \"presence\": {\n             \"accuracyInM\": 250,\n             \"areaOfInterestIds\": [\n                 \"84b9bcc9-e22b-11ee-8194-07b35b9ef12c\"\n             ],\n             \"areasOfInterestChecksum\": \"MD5:4a225ca3722b16ae8c2a66169f3e6a91\"\n         },\n         \"type\": \"phone-call\",\n         \"verified\": true}'\n"}],"description":"Registers a device as belonging to a particular user, so that when that user is supposed to receive a notification, a push can be sent to the device.","tags":["User Devices"]}},"/v1/users/{userId}/devices/{deviceId}":{"get":{"summary":"Get a user's device","operationId":"getUsersDevice","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single device registration based on the `id` values of the user to whom it is registered and the registration itself.","tags":["User Devices"]},"put":{"summary":"Update a user device","operationId":"updateUsersDevice","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_devices.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_devices.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'build': 'Revision-1.5.77',\n    'client': '00000000300BCE07',\n    'clientIdentifier': '+1234567890',\n    'deviceIdentifier': '+1234567890',\n    'disabled': false,\n    'name': 'Mobile',\n    'os': 'iOS',\n    'presence': {\n        'accuracyInM': 250,\n        'areaOfInterestIds': [\n            '84b9bcc9-e22b-11ee-8194-07b35b9ef12c'\n        ],\n        'areasOfInterestChecksum': 'MD5:4a225ca3722b16ae8c2a66169f3e6a91'\n    },\n    'verified': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'build': 'Revision-1.5.77',\n    'client': '00000000300BCE07',\n    'clientIdentifier': '+1234567890',\n    'deviceIdentifier': '+1234567890',\n    'disabled': False,\n    'name': 'Mobile',\n    'os': 'iOS',\n    'presence': {\n        'accuracyInM': 250,\n        'areaOfInterestIds': [\n            '84b9bcc9-e22b-11ee-8194-07b35b9ef12c'\n        ],\n        'areasOfInterestChecksum': 'MD5:4a225ca3722b16ae8c2a66169f3e6a91'\n    },\n    'verified': True\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"build\": \"Revision-1.5.77\",\n         \"client\": \"00000000300BCE07\",\n         \"clientIdentifier\": \"+1234567890\",\n         \"deviceIdentifier\": \"+1234567890\",\n         \"disabled\": false,\n         \"name\": \"Mobile\",\n         \"os\": \"iOS\",\n         \"presence\": {\n             \"accuracyInM\": 250,\n             \"areaOfInterestIds\": [\n                 \"84b9bcc9-e22b-11ee-8194-07b35b9ef12c\"\n             ],\n             \"areasOfInterestChecksum\": \"MD5:4a225ca3722b16ae8c2a66169f3e6a91\"\n         },\n         \"verified\": true}'\n"}],"description":"Update an existing user’s device within InformaCast.","tags":["User Devices"]},"delete":{"summary":"Delete a user device","operationId":"deleteUsersDevice","parameters":[{"name":"deviceId","in":"path","description":"The device id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/devices/{deviceId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a device from a user’s list of registered devices, so that it will no longer be contacted if that user receives a notification.","tags":["User Devices"]}},"/v1/users/{userId}/facilities":{"get":{"summary":"Get All Facilities a User Belongs to","operationId":"getUserFacilities","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"query","description":"The User's id","schema":{"type":"string","format":"uuid"},"example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_facilities.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all [Facilities](#tag--Facilities) to which the [User](#tag--Users) belongs. (The permissions associated with the request, through the user attached to the access token, may limit the visibility of results.)","tags":["User Facilities"]},"post":{"summary":"Add a Facility to a User","operationId":"createUserFacility","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_facilities.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_facilities.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"Adds a [Facility](#tag--Facilities) to a [User](#tag--Users).","tags":["User Facilities"]}},"/v1/users/{userId}/facilities/{facilityId}":{"get":{"summary":"Check if a User Belongs to a Facility","operationId":"getUserFacility","parameters":[{"name":"facilityId","in":"path","description":"The facility id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_facilities.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities/{facilityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities/{facilityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities/{facilityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single [User](#tag--Users) [Facility](#tag--Facilities) by id. Since this is not a list request, there is no pagination wrapper around the result.\n\nIf the User is part of the Facility, a response will be returned. If the User is not in the Facility, the response status will indicate that the requested resource cannot be found.","tags":["User Facilities"]},"delete":{"summary":"Remove a Facility from a User","operationId":"deleteUserFacility","parameters":[{"name":"facilityId","in":"path","description":"The facility id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities/{facilityId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities/{facilityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/facilities/{facilityId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a [Facility](#tag--Facilities) from a [User](#tag--Users).","tags":["User Facilities"]}},"/v1/users/{userId}/incidents/{incidentId}/tracking-streams":{"get":{"summary":"List all user incident tracking streams","operationId":"getUserIncidentTrackingStreams","parameters":[{"name":"createdAt","in":"query","description":"When the Tracking Stream began.","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeLatestLocation","in":"query","description":"Whether to include the latest location from Tracking Stream Events.","schema":{"type":"boolean"}},{"name":"initiationUserId","in":"query","description":"The ID of the user the Tracking Stream was initiated by","schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"ongoingOnly","in":"query","description":"Whether to only include ongoing Tracking Streams in the response.","schema":{"type":"boolean"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"state","in":"query","description":"The state of the Tracking Stream","schema":{"type":"string","enum":["active","ended"],"example":"active"},"example":"active"},{"name":"updatedAt","in":"query","description":"The last timestamp the Tracking Stream was updated at","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gt","in":"query","description":"Filter results where updated-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__gte","in":"query","description":"Filter results where updated-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lt","in":"query","description":"Filter results where updated-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"updatedAt__lte","in":"query","description":"Filter results where updated-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_incidents_tracking-streams.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Tracking Streams"]},"post":{"summary":"Create a user incident tracking stream","operationId":"createUserIncidentTrackingStream","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field state is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'initiationDevice': '{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'initiationDevice': '{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"initiationDevice\": \"{\\\"lookupValue\\\":\\\"vape-123\\\",\\\"type\\\":\\\"api-device\\\"}\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Tracking Streams"]}},"/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}":{"get":{"summary":"Get a user incident tracking stream","operationId":"getUserIncidentTrackingStream","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeLatestLocation","in":"query","description":"Whether to include the latest location from Tracking Stream Events.","schema":{"type":"boolean"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Tracking Streams"]}},"/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end":{"post":{"summary":"Create a user incident tracking stream end","operationId":"createUserIncidentTrackingStreamEnd","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams_end.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams_end.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field reason is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'comment': 'User no longer needed help.',\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'reason': 'user-initiated',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'comment': 'User no longer needed help.',\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'reason': 'user-initiated',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/end\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"comment\": \"User no longer needed help.\",\n         \"incidentId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"reason\": \"user-initiated\",\n         \"trackingStreamId\": \"46b2411b-cd0b-11ee-9027-edf5cd113c89\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User End Tracking Stream"]}},"/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events":{"get":{"summary":"List all user incident tracking stream events","operationId":"getUserIncidentTrackingStreamEvents","parameters":[{"name":"createdAt","in":"query","description":"When the Tracking Stream Event was created.","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"The type of Tracking Stream Event.","schema":{"type":"string","enum":["ended","location-updated"],"example":"ended"},"example":"ended"},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_incidents_tracking-streams_events.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Tracking Stream Events"]}},"/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}":{"get":{"summary":"Get a user incident tracking stream event","operationId":"getUserIncidentTrackingStreamEvent","parameters":[{"name":"eventId","in":"path","description":"The event id path parameter","required":true,"schema":{"type":"string"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams_events.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/events/{eventId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Tracking Stream Events"]}},"/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location":{"post":{"summary":"Create a user incident tracking stream update location","operationId":"createUserIncidentTrackingStreamUpdateLocation","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingStreamId","in":"path","description":"The tracking stream id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams_update-location.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_incidents_tracking-streams_update-location.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field locationResolutionStatusCode is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'location': {\n        'building': {\n            'id': 'b321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Nougat Processing'\n        },\n        'floor': {\n            'id': '4321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Basement'\n        },\n        'site': {\n            'id': '58fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Chocolate Factory'\n        },\n        'zone': {\n            'id': '38fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Taste Testing Room'\n        }\n    },\n    'locationResolutionStatusCode': 'OS_LOCATION',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '36b2411b-cd0b-11ee-9027-edf5cd113c88',\n    'location': {\n        'building': {\n            'id': 'b321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Nougat Processing'\n        },\n        'floor': {\n            'id': '4321c52b-064b-11ea-9265-f333e562b36b',\n            'name': 'Basement'\n        },\n        'site': {\n            'id': '58fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Chocolate Factory'\n        },\n        'zone': {\n            'id': '38fa0f0c-39fc-11e9-8c83-c128c081826b',\n            'name': 'Taste Testing Room'\n        }\n    },\n    'locationResolutionStatusCode': 'OS_LOCATION',\n    'trackingStreamId': '46b2411b-cd0b-11ee-9027-edf5cd113c89'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/incidents/{incidentId}/tracking-streams/{trackingStreamId}/update-location\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"36b2411b-cd0b-11ee-9027-edf5cd113c88\",\n         \"location\": {\n             \"building\": {\n                 \"id\": \"b321c52b-064b-11ea-9265-f333e562b36b\",\n                 \"name\": \"Nougat Processing\"\n             },\n             \"floor\": {\n                 \"id\": \"4321c52b-064b-11ea-9265-f333e562b36b\",\n                 \"name\": \"Basement\"\n             },\n             \"site\": {\n                 \"id\": \"58fa0f0c-39fc-11e9-8c83-c128c081826b\",\n                 \"name\": \"Chocolate Factory\"\n             },\n             \"zone\": {\n                 \"id\": \"38fa0f0c-39fc-11e9-8c83-c128c081826b\",\n                 \"name\": \"Taste Testing Room\"\n             }\n         },\n         \"locationResolutionStatusCode\": \"OS_LOCATION\",\n         \"trackingStreamId\": \"46b2411b-cd0b-11ee-9027-edf5cd113c89\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Update a Tracking Stream's Location"]}},"/v1/users/{userId}/locations":{"get":{"summary":"List all user locations","operationId":"getUserLocations","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The location’s name, to help the user identify its nature and purpose","schema":{"type":"string","maximum":140},"example":"Home"},{"name":"q","in":"query","description":"Perform a term (stemming) search on location names","schema":{"type":"string"},"example":"Home"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_locations.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all locations associated with a particular user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. A user will generally be able to see all locations they registered, but ordinary users will not be able to see locations registered by other users.)","tags":["User Locations"]},"post":{"summary":"Create a user location","operationId":"createUserLocation","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_locations.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_locations.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'disabled': false,\n    'latitude': -89.421967,\n    'longitude': 43.034593,\n    'name': 'Home'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'disabled': False,\n    'latitude': -89.421967,\n    'longitude': 43.034593,\n    'name': 'Home'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"disabled\": false,\n         \"latitude\": -89.421967,\n         \"longitude\": 43.034593,\n         \"name\": \"Home\"}'\n"}],"description":"Associates a location with a particular user, so that when geographic searches are performed which match that location, the user is included.","tags":["User Locations"]}},"/v1/users/{userId}/locations/{locationId}":{"get":{"summary":"Get a user location","operationId":"getUserLocation","parameters":[{"name":"locationId","in":"path","description":"The location id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_locations.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single location based on the `id` values of the user to whom it is registered and the location itself.","tags":["User Locations"]},"put":{"summary":"Update a user location","operationId":"updateUserLocation","parameters":[{"name":"locationId","in":"path","description":"The location id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_locations.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_locations.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'disabled': false,\n    'latitude': -89.421967,\n    'longitude': 43.034593,\n    'name': 'Home'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'disabled': False,\n    'latitude': -89.421967,\n    'longitude': 43.034593,\n    'name': 'Home'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"disabled\": false,\n         \"latitude\": -89.421967,\n         \"longitude\": 43.034593,\n         \"name\": \"Home\"}'\n"}],"description":"Update an existing user location within InformaCast Mobile.","tags":["User Locations"]},"delete":{"summary":"Remove a User Location","operationId":"deleteUserLocation","parameters":[{"name":"locationId","in":"path","description":"The location id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/locations/{locationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a location from a user’s list of associated locations, so that it will no longer cause the user to be found when geographic searches include that location.","tags":["User Locations"]}},"/v1/users/{userId}/notifications":{"get":{"summary":"List all notifications for a user","operationId":"getUserNotifications","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"facilityId","in":"query","description":"The ID of the facility this notification belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this notification belongs","schema":{"type":"boolean"},"example":true},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on notification subject, body, read status, or confirmation responses","schema":{"type":"string"},"example":"evacuate"},{"name":"raw","in":"query","description":"If `true`, the subject and body will be returned in their original, uninterpolated form","schema":{"type":"boolean"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_users_notifications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all notifications which were sent to the\nspecified user. (The [Permissions](#tag--User-Permissions)\nand [Security Groups](#tag--Security-Groups) associated with the request,\nthrough the user attached to the access token, may limit the resources\nreturned. A user will generally be able to see all notifications sent\nto them, but ordinary users will not be able to see notifications sent\nto other users.)","tags":["User Notifications"]}},"/v1/users/{userId}/notifications/{notificationId}":{"get":{"summary":"Get a notification for a user","operationId":"getUserNotification","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this notification belongs","schema":{"type":"boolean"},"example":true},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"raw","in":"query","description":"If `true`, the subject and body will be returned in their original, uninterpolated form","schema":{"type":"boolean"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_users_notifications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single user notification by `id`. Since this is not a list\nrequest, there is no pagination wrapper around the result.","tags":["User Notifications"]},"delete":{"summary":"Remove a notification from a user's list","operationId":"deleteUserNotification","parameters":[{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes a notification from the list associated with a particular\nuser. When a user no longer wishes to see the notification in their\n“in box” this method is the appropriate way to remove it. The fact\nthat the user was sent the notification will still be visible to\nadministrators through the [Notification Recipients](#tag--Notification-Recipients)\nresource.","tags":["User Notifications"]}},"/v1/users/{userId}/notifications/{notificationId}/activities":{"get":{"summary":"List all activities for a user notification","operationId":"getUserNotificationActivities","parameters":[{"name":"includeEndpointName","in":"query","description":"Set `true` to include the server name.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on user notification activity `type`, `readStatus`, `confirmationOption`, or endpoint name if `includeEndpointName` is `true`","schema":{"type":"string"},"example":"expire"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"type","in":"query","description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them.","schema":{"type":"string","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"set-read-status"},"example":"set-read-status"},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"readStatus":{"description":"Present when the `type` attribute is `set-read-status`. Marks the notification as read or unread as of the time of this activity. The read status can be toggled multiple times; the value set by the most recent activity is considered the current state.","enum":["read","unread"],"example":"read","type":"string"},"id":{"description":"The User Notification Activity id","format":"uuid","type":"string"},"userId":{"description":"The User's id","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"notificationId":{"description":"The id of the notification","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them.","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"set-read-status","type":"string"},"details":{"description":"Typically just a comment field e.g. {\"comment\":\"User set read status\"}","example":"{\"comment\":\"User set read status\"}","format":"json","type":"string"},"confirmationOption":{"description":"When the `type` attribute is `confirmation`, this contains the Confirmation Request response the user has chosen. This will be a value from the options list of the confirmation request attached to the notification, and there will be at most one activity of this type recorded for this user and notification.","example":null,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all activities recorded for the specified user and notification. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. A user will generally be able to see all activities performed by themselves, but non-administrative users will not be able to see the activities of other users.)","tags":["User Notification Activities"]},"post":{"operationId":"createUserNotificationActivity","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"readStatus":{"description":"Present when the `type` attribute is `set-read-status`. Marks the notification as read or unread as of the time of this activity. The read status can be toggled multiple times; the value set by the most recent activity is considered the current state.","enum":["read","unread"],"example":"read","type":"string"},"id":{"description":"The User Notification Activity id","format":"uuid","type":"string"},"userId":{"description":"The User's id","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"notificationId":{"description":"The id of the notification","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them.","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"set-read-status","type":"string"},"details":{"description":"Typically just a comment field e.g. {\"comment\":\"User set read status\"}","example":"{\"comment\":\"User set read status\"}","format":"json","type":"string"},"confirmationOption":{"description":"When the `type` attribute is `confirmation`, this contains the Confirmation Request response the user has chosen. This will be a value from the options list of the confirmation request attached to the notification, and there will be at most one activity of this type recorded for this user and notification.","example":null,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field type is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"tags":["User Notification Activities"],"summary":"Create a user notification activity","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"confirmationOption":{"description":"When the `type` attribute is `confirmation`, this contains the Confirmation Request response the user has chosen. This will be a value from the options list of the confirmation request attached to the notification, and there will be at most one activity of this type recorded for this user and notification.","example":null,"type":"string"},"details":{"description":"Typically just a comment field e.g. {\"comment\":\"User set read status\"}","example":"{\"comment\":\"User set read status\"}","format":"json","type":"string"},"readStatus":{"description":"Present when the `type` attribute is `set-read-status`. Marks the notification as read or unread as of the time of this activity. The read status can be toggled multiple times; the value set by the most recent activity is considered the current state.","enum":["read","unread"],"example":"read","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them.","enum":["confirmation","info","set-read-status"],"example":"set-read-status","type":"string"}},"required":["type"],"type":"object"}}}},"parameters":[{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"description":"Record an interaction between a [User](#tag--Users) and a [Notification](#tag--Notifications) they received. Currently, two different kinds of interaction can be reported, and they are differentiated by the value sent in the `type` parameter.\n* `set-read-status` is an activity which marks the notification as read or unread as far as the user is concerned.\n* `confirmation` records the user’s response to any [Confirmation Request](#tag--Confirmation-Requests) attached to the notification.","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'details': '{\"comment\":\"User set read status\"}',\n    'readStatus': 'read',\n    'type': 'set-read-status'\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'details': '{\"comment\":\"User set read status\"}',\n    'readStatus': 'read',\n    'type': 'set-read-status'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"details\": \"{\\\"comment\\\":\\\"User set read status\\\"}\",\n         \"readStatus\": \"read\",\n         \"type\": \"set-read-status\"}'\n"}]}},"/v1/users/{userId}/notifications/{notificationId}/activities/{activityId}":{"get":{"summary":"Get a user notification activity","operationId":"getUserNotificationActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeEndpointName","in":"query","description":"Set `true` to include the server name.","schema":{"type":"boolean"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"readStatus":{"description":"Present when the `type` attribute is `set-read-status`. Marks the notification as read or unread as of the time of this activity. The read status can be toggled multiple times; the value set by the most recent activity is considered the current state.","enum":["read","unread"],"example":"read","type":"string"},"id":{"description":"The User Notification Activity id","format":"uuid","type":"string"},"userId":{"description":"The User's id","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"notificationId":{"description":"The id of the notification","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"type":{"description":"Identifies the type of activity that was recorded. Extensions may add more type values; this is where the email-related values came from. Such extension-defined types will not be present in the API Explorer documentation, since the API is not aware of them.","enum":["cisco-spark","device-skipped","inbound-cap-sent","msteams-channel-sent","inbound-rss-sent","inbound-rss-failed","tracking-started","recipient-skipped","sms-received","push-sent","call-answered","msteams-chat-failed","inbound-email-sent","msteams-chat-sent","confirmation","msteams-channel-failed","push-failed","tracking-terminated","expire","display-text-and-start-audio","escalation-rule-skipped","email-sent","conference-call-left","abort","email-queued","cisco-spark-failed","call-placed","display-text","sms-failed","start-audio","stop-audio","call-queued","sending-started","info","call-failed","inbound-cap-failed","call-completed","inbound-email-failed","init-services","sending-finished","broadcast-started","push-queued","email-failed","sms-queued","conference-call-joined","conference-call-failed","api-connector-result","broadcast-finished","call-skipped","set-read-status","sms-sent","skip","tracking-completed","broadcast-failed","ip-speaker-asset-succeeded","ip-speaker-asset-failed"],"example":"set-read-status","type":"string"},"details":{"description":"Typically just a comment field e.g. {\"comment\":\"User set read status\"}","example":"{\"comment\":\"User set read status\"}","format":"json","type":"string"},"confirmationOption":{"description":"When the `type` attribute is `confirmation`, this contains the Confirmation Request response the user has chosen. This will be a value from the options list of the confirmation request attached to the notification, and there will be at most one activity of this type recorded for this user and notification.","example":null,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities/{activityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/activities/{activityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single user notification activity by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["User Notification Activities"]}},"/v1/users/{userId}/notifications/{notificationId}/audio":{"get":{"summary":"Get a user notification's audio","operationId":"getUserNotificationAudios","parameters":[{"name":"convert","in":"query","description":"*Deprecated:* No longer necessary because the `Content-Type` header returned allows the audio to be used as-is; this parameter will likely stop being supported in a future release. Converts the audio to PCM from μ-law","schema":{"type":"string","enum":["pcm"]},"deprecated":true},{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than played","schema":{"type":"boolean"}},{"name":"format","in":"query","description":"How the response should direct to the audio download, default is redirect.","schema":{"type":"string","enum":["redirect","json"]}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"preferredLanguage","in":"query","description":"The preferred notification language. Defaults to the user's preferred language.","schema":{"type":"string","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US"},"example":"en-US"},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification.audio.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_notification.audio.redirect.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/audio\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/audio\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/audio\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the audio, if any, that was sent with the notification, as a\nbinary stream. Typically this is μ-law encoded compressed audio. For\nimproved performance, this will likely involve redirection (via an\nHTTP 302 Redirect response) to an AWS CloudFront content distribution\nnetwork node which has cached the content closer geographically to\nwhere the request originated than the Singlewire REST API servers.","tags":["User Notifications"]}},"/v1/users/{userId}/notifications/{notificationId}/image":{"get":{"summary":"Get a user notification's image","operationId":"getUserNotificationImages","parameters":[{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}},{"name":"notificationId","in":"path","description":"The notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification.image.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_notification.image.redirect.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/image\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/image\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/notifications/{notificationId}/image\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the image, if any, that was sent with the notification, as a\nbinary stream. For improved performance, this will likely involve\nredirection (via an HTTP 302 Redirect response) to an AWS CloudFront\ncontent distribution network node which has cached the content closer\ngeographically to where the request originated than the Singlewire\nREST API servers.","tags":["User Notifications"]}},"/v1/users/{userId}/profile":{"get":{"summary":"Get User Profile Information","operationId":"getUserProfiles","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_profile.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/profile\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/profile\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/profile\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves all User Profile information available for modification.","tags":["User Profile"]},"put":{"summary":"Update a user profile","operationId":"updateUserProfile","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_profile.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_profile.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'name': 'Jeffrey Lebowski',\n    'preferredLanguage': 'en-US',\n    'preferredName': 'The Dude',\n    'preferredTimezone': 'America/Los_Angeles'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/profile\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/profile\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'name': 'Jeffrey Lebowski',\n    'preferredLanguage': 'en-US',\n    'preferredName': 'The Dude',\n    'preferredTimezone': 'America/Los_Angeles'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/profile\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"name\": \"Jeffrey Lebowski\",\n         \"preferredLanguage\": \"en-US\",\n         \"preferredName\": \"The Dude\",\n         \"preferredTimezone\": \"America/Los_Angeles\"}'\n"}],"description":"Update the User Profile information stored for a user.","tags":["User Profile"]}},"/v1/users/{userId}/rostering":{"get":{"summary":"Get All User Rostering Incidents","operationId":"getUserRosterings","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_rostering.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all Rostering Incidents for which the requesting user is a Rostering administrator.","tags":["User Rostering (Roll Call) Incidents"]}},"/v1/users/{userId}/rostering/{incidentId}":{"get":{"summary":"Get a Specific User Rostering Incident","operationId":"getUserRostering","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_rostering.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific Rostering Incident based on the `id` value of the Incident. Since this is not a list request, there is no pagination wrapper around the result.","tags":["User Rostering (Roll Call) Incidents"]}},"/v1/users/{userId}/rostering/{incidentId}/rostering-members":{"get":{"summary":"Get all user Rostering members","operationId":"getUserRosteringRosteringMembers","parameters":[{"name":"filterLocations","in":"query","description":"A JSON-encoded array of locations on which to filter Rostering (Roll Call) members. To filter on 'Unknown’, include a location of `null`.","schema":{"type":"string","format":"json"}},{"name":"filterStatuses","in":"query","description":"A JSON-encoded array of statuses on which to filter Rostering (Roll Call) members. To filter on ‘Unknown’, include a status of `null`.","schema":{"type":"string","format":"json"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on Rostering (Roll Call) member user names","schema":{"type":"string"},"example":"Jane"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_rostering-members.list.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all members of the Incident’s Rostering list.","tags":["User Rostering (Roll Call) Members"]},"post":{"summary":"Bulk update user Rostering member statuses and locations","operationId":"createUserRosteringRosteringMember","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_rostering_rostering-members.post-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_rostering-members.post.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field incidentId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"383439bd-d028-11ee-9027-05a8c3652e5e\",\n         \"location\": \"Reunification Zone\",\n         \"status\": \"Safe\"}'\n"}],"description":"Updates the status and/or location of all specified Rostering members.","tags":["User Rostering (Roll Call) Members"]}},"/v1/users/{userId}/rostering/{incidentId}/rostering-members/{rosteringMemberId}":{"get":{"summary":"Get a specific user Rostering member","operationId":"getUserRosteringRosteringMember","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"rosteringMemberId","in":"path","description":"The rostering member id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_rostering-members.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members/{rosteringMemberId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members/{rosteringMemberId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members/{rosteringMemberId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a specific Rostering member based on the `id` values of the Incident and Rostering member. Since this is not a list request, there is no pagination wrapper around the result.","tags":["User Rostering (Roll Call) Members"]},"put":{"summary":"Update one user Rostering member status and location","operationId":"updateUserRosteringRosteringMember","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"rosteringMemberId","in":"path","description":"The rostering member id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_rostering_rostering-members.put-request"}}}},"responses":{"200":{"$ref":"#/components/responses/_rostering-members.put.response"},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field incidentId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members/{rosteringMemberId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members/{rosteringMemberId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'location': 'Reunification Zone',\n    'status': 'Safe'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-members/{rosteringMemberId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"383439bd-d028-11ee-9027-05a8c3652e5e\",\n         \"location\": \"Reunification Zone\",\n         \"status\": \"Safe\"}'\n"}],"description":"Updates the status and/or location of the specified Rostering member.","tags":["User Rostering (Roll Call) Members"]}},"/v1/users/{userId}/rostering/{incidentId}/rostering-my-list":{"get":{"summary":"Get user rostering my list","operationId":"getUserRosteringRosteringMyLists","parameters":[{"name":"filterLocations","in":"query","description":"A JSON-encoded array of locations on which to filter Rostering (Roll Call) members, to filter on `Unknown`, include a location of `null`","schema":{"type":"string","format":"json"}},{"name":"filterStatuses","in":"query","description":"A JSON-encoded array of statuses on which to filter Rostering (Roll Call) members, to filter on `Unknown`, include a status of `null`","schema":{"type":"string","format":"json"}},{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_rostering_rostering-my-list.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-my-list\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-my-list\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-my-list\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all Rostering members whose status and/or location the requesting user has updated. If the requesting user has not updated any status or location of any Rostering members, then an empty list will be returned. The requesting user can only get their own Rostering My List, and will be unable to access any other user’s My List.","tags":["User Rostering (Roll Call) My List"]}},"/v1/users/{userId}/rostering/{incidentId}/rostering-my-list/{rosteringMyListId}":{"get":{"summary":"Get a user rostering rostering my list","operationId":"getUserRosteringRosteringMyList","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"rosteringMyListId","in":"path","description":"The rostering my list id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_rostering_rostering-my-list.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-my-list/{rosteringMyListId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-my-list/{rosteringMyListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-my-list/{rosteringMyListId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["User Rostering (Roll Call) My List"]}},"/v1/users/{userId}/rostering/{incidentId}/rostering-report":{"get":{"summary":"Get user rostering report","operationId":"getUserRosteringRosteringReports","parameters":[{"name":"incidentId","in":"path","description":"The incident id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_rostering_rostering-report.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-report\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-report\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/rostering/{incidentId}/rostering-report\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the user counts for each status in the Rostering event.","tags":["User Rostering (Roll Call) Report"]}},"/v1/users/{userId}/scim-security-groups":{"get":{"summary":"List all user SCIM security groups","operationId":"getUserScimSecurityGroups","parameters":[{"name":"includePolicy","in":"query","description":"Whether to include an associated Policy in the response.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_users-scim-security-groups.response-base"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/scim-security-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/scim-security-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/scim-security-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all security groups to which the specified user\nis included through associated SCIM Groups. For more information on SCIM Groups, see\n[our User Guide](https://documentation.singlewire.com/fusion/en/about-cloud-user-loaders.html).","tags":["User Security Groups"]}},"/v1/users/{userId}/scim-subscriptions":{"get":{"summary":"List All SCIM Subscriptions","operationId":"getUserScimSubscriptions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_scim-subscriptions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/scim-subscriptions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/scim-subscriptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/scim-subscriptions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all distribution lists to which the specified user is subscribed through associated SCIM Groups.","tags":["User Subscriptions"]}},"/v1/users/{userId}/security-groups":{"get":{"summary":"List all user security groups","operationId":"getUserSecurityGroups","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this user security group belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includePolicy","in":"query","description":"Whether to include an associated Policy in the response.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"Filter to only security groups with this name","schema":{"type":"string"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on security group names","schema":{"type":"string"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_users_security-groups.response-base"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all the [Security Groups](#tag--Security-Groups) to\nwhich the [User](#tag--Users) belongs. (The [Permissions](#tag--User-Permissions) and Security Groups associated with the\nrequest, through the User attached to the access token, may limit the\nresources returned. A user will generally be able to see all their own\nmemberships, and administrative users will be able to see other users’\ngroup memberships.)","tags":["User Security Groups"]},"post":{"summary":"Place a User in a Security Group","operationId":"createUserSecurityGroup","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_security-groups.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_users_security-groups.response-base"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field securityGroupId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'securityGroupId': 'dd0bf76c-c8e9-11f1-9434-d12079d3ebfc'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'securityGroupId': 'dd0bf76d-c8e9-11f1-9434-0f3bd3772fba'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"securityGroupId\": \"dd0bf76e-c8e9-11f1-9434-597a54f57208\"}'\n"}],"description":"Assigns the specified [User](#tag--Users) to the specified\n[Security Group](#tag--Security-Groups), implicitly granting\nthe user all permissions assigned to the group.","tags":["User Security Groups"]}},"/v1/users/{userId}/security-groups/{securityGroupId}":{"get":{"summary":"Get a user security group","operationId":"getUserSecurityGroup","parameters":[{"name":"includePolicy","in":"query","description":"Whether to include an associated Policy in the response.","schema":{"type":"boolean"}},{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_users_security-groups.response-base"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups/{securityGroupId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups/{securityGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups/{securityGroupId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single User Security Group assignment by `id`. Since this\nis not a list request, there is no pagination wrapper around the\nresult.","tags":["User Security Groups"]},"delete":{"summary":"Remove a User from a Security Group","operationId":"deleteUserSecurityGroup","parameters":[{"name":"securityGroupId","in":"path","description":"The security group id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups/{securityGroupId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups/{securityGroupId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/security-groups/{securityGroupId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes the specified [User](#tag--Users) from the specified\n[Security Group](#tag--Security-Groups), so that the group’s\npermissions are no longer implicitly available to the user.","tags":["User Security Groups"]}},"/v1/users/{userId}/sent-notifications":{"get":{"summary":"List all user sent notifications","operationId":"getUserSentNotifications","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"facilityId","in":"query","description":"The ID of the facility this sent notification belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this sent notification belongs","schema":{"type":"boolean"},"example":true},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on notification subject, body, read status, or confirmation responses","schema":{"type":"string"},"example":"evacuate"},{"name":"raw","in":"query","description":"If `true`, the subject and body will be returned in their original, uninterpolated form","schema":{"type":"boolean"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_users_notifications.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["User Sent Notifications"]}},"/v1/users/{userId}/sent-notifications/{sentNotificationId}":{"get":{"summary":"Get a user sent notification","operationId":"getUserSentNotification","parameters":[{"name":"includeBinaryUrls","in":"query","description":"Whether to include signed CloudFront URLs for image/audio in the response when available","schema":{"type":"boolean"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this sent notification belongs","schema":{"type":"boolean"},"example":true},{"name":"includeTranslations","in":"query","description":"Whether to include translations for this resource","schema":{"type":"boolean"}},{"name":"raw","in":"query","description":"If `true`, the subject and body will be returned in their original, uninterpolated form","schema":{"type":"boolean"}},{"name":"sentNotificationId","in":"path","description":"The sent notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_users_notifications.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["User Sent Notifications"]}},"/v1/users/{userId}/sent-notifications/{sentNotificationId}/audio":{"get":{"summary":"List all user sent notification audio","operationId":"getUserSentNotificationAudios","parameters":[{"name":"convert","in":"query","description":"*Deprecated:* No longer necessary because the `Content-Type` header returned allows the audio to be used as-is; this parameter will likely stop being supported in a future release. Converts the audio to PCM from μ-law","schema":{"type":"string","enum":["pcm"]},"deprecated":true},{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than played","schema":{"type":"boolean"}},{"name":"format","in":"query","description":"How the response should direct to the audio download, default is redirect.","schema":{"type":"string","enum":["redirect","json"]}},{"name":"preferredLanguage","in":"query","description":"The preferred notification language. Defaults to the user's preferred language.","schema":{"type":"string","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US"},"example":"en-US"},{"name":"sentNotificationId","in":"path","description":"The sent notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification.audio.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_notification.audio.redirect.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}/audio\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}/audio\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}/audio\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["User Sent Notifications"]}},"/v1/users/{userId}/sent-notifications/{sentNotificationId}/image":{"get":{"summary":"List all user sent notification image","operationId":"getUserSentNotificationImages","parameters":[{"name":"download","in":"query","description":"Whether the response should include a `Content-Disposition` header as a suggestion to web browsers that it should be treated as a download rather than displayed","schema":{"type":"boolean"}},{"name":"sentNotificationId","in":"path","description":"The sent notification id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_notification.image.get.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"302":{"$ref":"#/components/responses/_notification.image.redirect.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}/image\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}/image\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/sent-notifications/{sentNotificationId}/image\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"tags":["User Sent Notifications"]}},"/v1/users/{userId}/subscribable-distribution-lists":{"get":{"summary":"List all self service subscriptions","operationId":"getUserSubscribableDistributionLists","parameters":[{"name":"facilityId","in":"query","description":"The ID of the facility this subscribable distribution lists belongs to","schema":{"type":"string","format":"uuid"},"example":"69dab71b-12b2-11e8-bfe3-41154f2b6534"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on distribution list names users may subscribe to","schema":{"type":"string"},"example":"Barista"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"subscribed","in":"query","description":"Whether the User is subscribed to this Distribution List","schema":{"type":"boolean"},"example":true},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"query","description":"The User's id","schema":{"type":"string","format":"uuid"},"example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_subscribable-distribution-lists.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all [Distribution Lists](#tag--Distribution-Lists) that the specified [User](#tag--Users) may subscribe to and whether they are subscribed.","tags":["Self Service Subscriptions"]}},"/v1/users/{userId}/subscribable-distribution-lists/{subscribableDistributionListId}":{"get":{"summary":"Get a self service subscription","operationId":"getUserSubscribableDistributionList","parameters":[{"name":"subscribableDistributionListId","in":"path","description":"The subscribable distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_subscribable-distribution-lists.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists/{subscribableDistributionListId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists/{subscribableDistributionListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists/{subscribableDistributionListId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a [Distribution List](#tag--Distribution-Lists) a [User](#tag--Users) may subscribe to and whether they are subscribed.","tags":["Self Service Subscriptions"]},"put":{"summary":"Add/Remove a self service subscription","operationId":"updateUserSubscribableDistributionList","parameters":[{"name":"subscribableDistributionListId","in":"path","description":"The subscribable distribution list id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_subscribable-distribution-lists.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_subscribable-distribution-lists.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field userId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'subscribe': true\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists/{subscribableDistributionListId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists/{subscribableDistributionListId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'subscribe': True\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscribable-distribution-lists/{subscribableDistributionListId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"subscribe\": true}'\n"}],"description":"When `subscribe` is `true`, creates a link between a [User](#tag--Users) and a [Distribution List](#tag--Distribution-Lists) so that the User will receive Notifications sent to that Distribution List. When `subscribe` is `false`, removes a self service subscription and its association between a [User](#tag--Users) and a [Distribution List](#tag--Distribution-Lists).","tags":["Self Service Subscriptions"]}},"/v1/users/{userId}/subscriptions":{"get":{"summary":"List all subscriptions","operationId":"getUserSubscriptions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_subscriptions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all distribution lists to which the specified user is subscribed. (The [permissions](#tag--User-Permissions) and [security groups](#tag--Security-Groups) associated with the request, through the user attached to the access token, may limit the resources returned. A user will generally be able to see all their own subscriptions.)","tags":["User Subscriptions"]},"post":{"summary":"Create a subscription","operationId":"createUserSubscription","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_subscriptions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_subscriptions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field distributionListId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'distributionListId': '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c',\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'distributionListId': '4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c',\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"distributionListId\": \"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c\",\n         \"subscriptionEndDate\": \"2035-05-27T19:20:46.908Z\"}'\n"}],"description":"Create a link between a [User](#tag--Users) and a [Distribution List](#tag--Distribution-Lists) so that the User will receive Notifications sent to that Distribution List.","tags":["User Subscriptions"]}},"/v1/users/{userId}/subscriptions/{subscriptionId}":{"get":{"summary":"Get a subscription","operationId":"getUserSubscription","parameters":[{"name":"subscriptionId","in":"path","description":"The subscription id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_subscriptions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single subscription by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["User Subscriptions"]},"put":{"summary":"Update a subscription","operationId":"updateUserSubscription","parameters":[{"name":"subscriptionId","in":"path","description":"The subscription id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_subscriptions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_subscriptions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field distributionListId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'subscriptionEndDate': '2035-05-27T19:20:46.908Z'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"subscriptionEndDate\": \"2035-05-27T19:20:46.908Z\"}'\n"}],"description":"Updates an existing subscription’s `subscriptionEndDate`","tags":["User Subscriptions"]},"delete":{"summary":"Remove a subscription","operationId":"deleteUserSubscription","parameters":[{"name":"subscriptionId","in":"path","description":"The subscription id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/subscriptions/{subscriptionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes a subscription, removing that association between a [User](#tag--Users) and a [Distribution List](#tag--Distribution-Lists).","tags":["User Subscriptions"]}},"/v1/users/{userId}/tokens":{"get":{"summary":"List a user’s tokens","operationId":"getUserTokens","parameters":[{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"expires__gt","in":"query","description":"Filter results where expires is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"expires__gte","in":"query","description":"Filter results where expires is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"expires__lt","in":"query","description":"Filter results where expires is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"expires__lte","in":"query","description":"Filter results where expires is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name assigned to this token","schema":{"type":"string","maximum":10000},"example":"API Token"},{"name":"notValidAfter__gt","in":"query","description":"Filter results where not-valid-after is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"notValidAfter__gte","in":"query","description":"Filter results where not-valid-after is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"notValidAfter__lt","in":"query","description":"Filter results where not-valid-after is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"notValidAfter__lte","in":"query","description":"Filter results where not-valid-after is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-16T06:53:04.588Z"},{"name":"originCreatedAt__gt","in":"query","description":"Filter results where origin-created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"originCreatedAt__gte","in":"query","description":"Filter results where origin-created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"originCreatedAt__lt","in":"query","description":"Filter results where origin-created-at is less than the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"originCreatedAt__lte","in":"query","description":"Filter results where origin-created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"},"example":"2026-10-15T18:53:04.588Z"},{"name":"originId","in":"query","description":"The origin `id`. This will be the same throughout an entire session","schema":{"type":"string","format":"uuid"}},{"name":"q","in":"query","description":"Perform a term (stemming) search on user token names","schema":{"type":"string"},"example":"API Token"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_tokens.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of tokens associated with a particular user. (The [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through the user attached to its access token, may limit the resources returned. Generally only administrative users will be able to manipulate tokens.)","tags":["User Tokens"]},"post":{"summary":"Create a token","operationId":"createUserToken","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_tokens.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_tokens.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'expires': 'Fri Oct 16 06:53:04 UTC 2026',\n    'name': 'API Token',\n    'type': 'token'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'expires': 'Fri Oct 16 06:53:04 UTC 2026',\n    'name': 'API Token',\n    'type': 'token'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"expires\": \"Fri Oct 16 06:53:04 UTC 2026\",\n         \"name\": \"API Token\",\n         \"type\": \"token\"}'\n"}],"description":"Create a new access token associated with a particular user.\n\nNote: it is no longer possible to create new tokens for ICMobile Plugin users (i.e. users with a `type` of 'application'\nand an `application` of 'mobile-plugin').","tags":["User Tokens"]}},"/v1/users/{userId}/tokens/{tokenId}":{"get":{"summary":"Get one token","operationId":"getUserToken","parameters":[{"name":"tokenId","in":"path","description":"The token id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_tokens.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens/{tokenId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens/{tokenId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens/{tokenId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single user token by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["User Tokens"]},"delete":{"summary":"Revoke a token","operationId":"deleteUserToken","parameters":[{"name":"deleteEntireSession","in":"query","description":"Set to `true` to delete all refresh tokens that have the same origin as the token being deleted","schema":{"type":"boolean"},"example":true},{"name":"tokenId","in":"path","description":"The token id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens/{tokenId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens/{tokenId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tokens/{tokenId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes a token, so that it will immediately cease to be valid for accessing the system.","tags":["User Tokens"]}},"/v1/users/{userId}/tracking-events":{"get":{"summary":"List all user tracking events","operationId":"getUserTrackingEvents","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The `name` of the Tracking Event","schema":{"type":"string","maximum":140},"example":"Ice Cream Party"},{"name":"q","in":"query","description":"Perform a term (stemming) search on user tracking event names","schema":{"type":"string"},"example":"Ice Cream"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"state","in":"query","description":"The state of this event","schema":{"type":"string","enum":["active","completed"],"example":"active"},"example":"active"},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_tracking-events.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"List all tracking events for a user<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Tracking Events"]}},"/v1/users/{userId}/tracking-events/{trackingEventId}":{"get":{"summary":"Get a user tracking event","operationId":"getUserTrackingEvent","parameters":[{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_tracking-events.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Get a user tracking event by `id`<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","tags":["User Tracking Events"]}},"/v1/users/{userId}/tracking-events/{trackingEventId}/activities":{"get":{"summary":"List all user tracking event activities","operationId":"getUserTrackingEventActivities","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_tracking-events_activities.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}/activities\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}/activities\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}/activities\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"List all tracking event activities for a user","tags":["User Tracking Event Activities"]}},"/v1/users/{userId}/tracking-events/{trackingEventId}/activities/{activityId}":{"get":{"summary":"Get a user tracking event activity","operationId":"getUserTrackingEventActivity","parameters":[{"name":"activityId","in":"path","description":"The activity id path parameter","required":true,"schema":{"type":"string"}},{"name":"trackingEventId","in":"path","description":"The tracking event id path parameter","required":true,"schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_tracking-events_activities.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}/activities/{activityId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}/activities/{activityId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/tracking-events/{trackingEventId}/activities/{activityId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Get a user tracking event activity by `id`","tags":["User Tracking Event Activities"]}},"/v1/users/{userId}/user-permissions":{"get":{"summary":"List direct user permissions","operationId":"getUserUserPermissions","parameters":[{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on `spec` or `verb`","schema":{"type":"string"},"example":"incidents"},{"name":"spec","in":"query","description":"Resource spec of the permission","schema":{"type":"string","maximum":1000},"example":"/notifications"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}},{"name":"verb","in":"query","description":"Verb of the permission","schema":{"type":"string","enum":["get","put","post","delete","patch"],"example":"post"},"example":"post"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/users_user-permissions.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves the list of all the permissions assigned directly to a\nspecified user. They may have other permissions indirectly, through\nmembership in [Security Groups](#tag--Security-Groups).","tags":["User Permissions"]},"post":{"summary":"Grant a user permission","operationId":"createUserUserPermission","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_user-permissions.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_user-permissions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field verb is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'spec': '/notifications',\n    'verb': 'post'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'spec': '/notifications',\n    'verb': 'post'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"spec\": \"/notifications\",\n         \"verb\": \"post\"}'\n"}],"description":"Grants a user the permission to perform a specific action on a\nspecified resource or list of resources.\n\n### Tied Extensions\n\nThere are two pairs of extensions which are now treated by the user\ninterface as a single concept: the iOS and Android push extensions are\njointly managed as InformaCast for iOS/Android, and the macOS and\nWindows push extensions are jointly managed as InformaCast for\nMac/Windows. Because of this, granting a permission to one of either\npair will automatically grant permission to the other.","tags":["User Permissions"]}},"/v1/users/{userId}/user-permissions/{userPermissionId}":{"get":{"summary":"Get a user permission","operationId":"getUserUserPermission","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}},{"name":"userPermissionId","in":"path","description":"The user permission id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_user-permissions.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single user permission by id. Since this is not a list\nrequest, there is no pagination wrapper around the result.","tags":["User Permissions"]},"put":{"summary":"Update a user permission","operationId":"updateUserUserPermission","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}},{"name":"userPermissionId","in":"path","description":"The user permission id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/users_user-permissions.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/users_user-permissions.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field verb is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'spec': '/notifications',\n    'verb': 'post'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'spec': '/notifications',\n    'verb': 'post'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"spec\": \"/notifications\",\n         \"verb\": \"post\"}'\n"}],"description":"Updates an existing user permission, to change the `spec` or the\n`verb`, as needed.\n\n### Tied Extensions\n\nThere are two pairs of extensions which are now treated by the user\ninterface as a single concept: the iOS and Android push extensions are\njointly managed as InformaCast for iOS/Android, and the macOS and\nWindows push extensions are jointly managed as InformaCast for\nMac/Windows. Because of this, granting a permission to one of either\npair will automatically grant permission to the other.","tags":["User Permissions"]},"delete":{"summary":"Revoke a user permission","operationId":"deleteUserUserPermission","parameters":[{"name":"userId","in":"path","description":"The user id path parameter","required":true,"schema":{"type":"string"}},{"name":"userPermissionId","in":"path","description":"The user permission id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/users/{userId}/user-permissions/{userPermissionId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Removes a previously granted permission from a user.\n\n### Tied Extensions\n\nThere are two pairs of extensions which are now treated by the user\ninterface as a single concept: the iOS and Android push extensions are\njointly managed as InformaCast for iOS/Android, and the macOS and\nWindows push extensions are jointly managed as InformaCast for\nMac/Windows. Because of this, granting a permission to one of either\npair will automatically grant permission to the other.","tags":["User Permissions"]}},"/v1/wearable-installation-reports":{"get":{"summary":"List all wearable installation reports","operationId":"getWearableInstallationReports","parameters":[{"name":"buildingId","in":"query","description":"The ID of the building to which this Wearables Installation Report belongs","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"completedAt__gt","in":"query","description":"Filter results where completed-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"completedAt__gte","in":"query","description":"Filter results where completed-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"completedAt__lt","in":"query","description":"Filter results where completed-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"completedAt__lte","in":"query","description":"Filter results where completed-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gt","in":"query","description":"Filter results where created-at is greater than  the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__gte","in":"query","description":"Filter results where created-at is greater than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lt","in":"query","description":"Filter results where created-at is less than the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"createdAt__lte","in":"query","description":"Filter results where created-at is less than or equal to the supplied value","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on Wearables Installation Report created user's name","schema":{"type":"string"},"example":"Bob"},{"name":"siteId","in":"query","description":"The ID of the site to which this Wearables Installation Report belongs","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"sort","in":"query","description":"Sorts Wearables Installation Reports by created at or completed at. Defaults to created at.","schema":{"type":"string"},"example":"createdAt"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/wearable-installation-reports.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Reports"]},"post":{"summary":"Create a wearable installation report","operationId":"createWearableInstallationReport","parameters":[],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field siteId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Reports"]}},"/v1/wearable-installation-reports/{wearableInstallationReportId}":{"get":{"summary":"Get a wearable installation report","operationId":"getWearableInstallationReport","parameters":[{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Reports"]},"delete":{"summary":"Delete a wearable installation report","operationId":"deleteWearableInstallationReport","parameters":[{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Reports"]}},"/v1/wearable-installation-reports/{wearableInstallationReportId}/end":{"post":{"summary":"Create a wearable installation report end","operationId":"createWearableInstallationReportEnd","parameters":[{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_end.request"}}}},"responses":{"200":{"$ref":"#/components/responses/_beacon.recommission.post.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/end\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/end\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/end\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Reports"]}},"/v1/wearable-installation-reports/{wearableInstallationReportId}/zones":{"get":{"summary":"List all wearable installation report zones","operationId":"getWearableInstallationReportZones","parameters":[{"name":"buildingId","in":"query","description":"The ID of the building to which this Wearables Installation Report belongs","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"floorId","in":"query","description":"The ID of the floor to which this Wearables Installation Report belongs","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101"},{"name":"includeMostRecentResultReport","in":"query","description":"Whether to include the most recent result report.","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"q","in":"query","description":"Perform a term (stemming) search on Wearables Installation Report zone floor name and zone name.","schema":{"type":"string"},"example":"Bob"},{"name":"resultReasonCode","in":"query","description":"Whether to filter the zones by specific result reason code","schema":{"type":"string","enum":["STRONG","WEAK","ROOM_INACCESSIBLE","ROOM_MISSING","OTHER","UNKNOWN"]}},{"name":"resultStatusCode","in":"query","description":"Whether to filter the zones by specific result status code","schema":{"type":"string","enum":["PASS","FAIL","COULD_NOT_TEST","UNKNOWN"]}},{"name":"siteId","in":"query","description":"The ID of the site to which this Wearables Installation Report belongs","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"sort","in":"query","description":"Sorts Wearables Installation Reports zone by name. Defaults to zone name.","schema":{"type":"string"},"example":"name"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"query","description":"The ID of the zone to which this Wearables Installation Report belongs","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/wearable-installation-reports_zones.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Report Zones"]}},"/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}":{"get":{"summary":"Get a wearable installation report zone","operationId":"getWearableInstallationReportZone","parameters":[{"name":"includeMostRecentResultReport","in":"query","description":"Whether to include the most recent result report.","schema":{"type":"boolean"}},{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_zones.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Report Zones"]}},"/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-comments":{"post":{"summary":"Create a wearable installation report zone record comment","operationId":"createWearableInstallationReportZoneRecordComment","parameters":[{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_zones_record-comments.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_zones_record-comments.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field reasonCode is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"description":"A successful response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'reasonCode': 'ROOM_INACCESSIBLE'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-comments\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-comments\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'reasonCode': 'ROOM_INACCESSIBLE'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-comments\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"reasonCode\": \"ROOM_INACCESSIBLE\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Report Zones"]}},"/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry":{"post":{"summary":"Create a wearable installation report zone record telemetry","operationId":"createWearableInstallationReportZoneRecordTelemetry","parameters":[{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_zones_record-telemetry.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_zones_record-telemetry.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field startedAt is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"description":"A successful response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'position': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'startedAt': '1970-01-01T00:00:00.000Z',\n    'trackingStreamId': '383439bd-d028-11ee-9027-05a8c3652e5e'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'incidentId': '383439bd-d028-11ee-9027-05a8c3652e5e',\n    'position': '{:type \"Point\", :coordinates [-89.50275 43.114705]}',\n    'startedAt': '1970-01-01T00:00:00.000Z',\n    'trackingStreamId': '383439bd-d028-11ee-9027-05a8c3652e5e'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"incidentId\": \"383439bd-d028-11ee-9027-05a8c3652e5e\",\n         \"position\": \"{:type \\\"Point\\\", :coordinates [-89.50275 43.114705]}\",\n         \"startedAt\": \"1970-01-01T00:00:00.000Z\",\n         \"trackingStreamId\": \"383439bd-d028-11ee-9027-05a8c3652e5e\"}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Report Zones"]}},"/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry-comments":{"post":{"summary":"Create a wearable installation report zone record telemetry comment","operationId":"createWearableInstallationReportZoneRecordTelemetryComment","parameters":[{"name":"wearableInstallationReportId","in":"path","description":"The wearable installation report id path parameter","required":true,"schema":{"type":"string"}},{"name":"zoneId","in":"path","description":"The zone id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_zones_record-telemetry-comments.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/wearable-installation-reports_zones_record-telemetry-comments.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field comments is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"},"204":{"description":"A successful response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry-comments\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry-comments\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/wearable-installation-reports/{wearableInstallationReportId}/zones/{zoneId}/record-telemetry-comments\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"description":"_Accessing this feature requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","tags":["Wearables Installation Report Zones"]}},"/v1/webex-calling-devices":{"get":{"summary":"List all webex calling devices","operationId":"getWebexCallingDevices","parameters":[{"name":"buildingId","in":"query","description":"The ID of the building the Webex Calling Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"externalId","in":"query","description":"The ID of the Webex Calling Device in Webex","schema":{"type":"string"},"example":"Y2lzY29zcGFyazovL3VybjpURUFN"},{"name":"floorId","in":"query","description":"The ID of the floor the Webex Calling Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"fe1fe388-d23c-418d-b76d-46ce682c24ff"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the Webex Calling Device","schema":{"type":"string","maximum":140},"example":"The Bat Phone"},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this sent webex calling device belongs","schema":{"type":"boolean"},"example":true},{"name":"q","in":"query","description":"Perform a term (stemming) search on Webex Calling device names and external IDs","schema":{"type":"string"},"example":"Bat"},{"name":"siteId","in":"query","description":"The ID of the site the Webex Calling Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"webexLocationId","in":"query","description":"The ID of the Webex Location the device is in","schema":{"type":"string"},"example":"Z2lzY29zcGFyazovL3VpURUFN"},{"name":"zoneId","in":"query","description":"The ID of the zone the Webex Calling Device is assigned to","schema":{"type":"string","format":"uuid"},"example":"68b84008-ba58-471e-aa29-e8acb725644c"}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/_webex-calling-devices.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Gets a list of all Webex Calling Devices available to the current user (the [Permissions](#tag--User-Permissions) and [Security Groups](#tag--Security-Groups) associated with the request, through\nthe user attached to the access token, may limit the resources\nreturned).","tags":["Webex Calling Devices"]}},"/v1/webex-calling-devices/{webexCallingDeviceId}":{"get":{"summary":"Get a webex calling device","operationId":"getWebexCallingDevice","parameters":[{"name":"webexCallingDeviceId","in":"path","description":"The webex calling device id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this sent webex calling device belongs","schema":{"type":"boolean"},"example":true}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_webex-calling-devices.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices/{webexCallingDeviceId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices/{webexCallingDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices/{webexCallingDeviceId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Webex Calling Device by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Webex Calling Devices"]},"put":{"operationId":"updateWebexCallingDevice","responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_webex-calling-devices.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field name is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"tags":["Webex Calling Devices"],"summary":"Update a webex calling device","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"floorId":{"description":"The ID of the floor the Webex Calling Device is assigned to","example":"fe1fe388-d23c-418d-b76d-46ce682c24ff","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the zone the Webex Calling Device is assigned to","example":"68b84008-ba58-471e-aa29-e8acb725644c","format":"uuid","type":"string"}},"required":[],"type":"object"}}}},"parameters":[{"name":"webexCallingDeviceId","in":"path","description":"The webex calling device id path parameter","required":true,"schema":{"type":"string"}},{"name":"includeFacility","in":"query","description":"If `true`, include the facility to which this sent webex calling device belongs","schema":{"type":"boolean"},"example":true}],"description":"Updates an existing Webex Calling Device by `id`.","x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': 'fe1fe388-d23c-418d-b76d-46ce682c24ff',\n    'ipAddress': '123.123.123.123',\n    'name': 'The Bat Phone',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'webexLocationId': 'Z2lzY29zcGFyazovL3VpURUFN',\n    'zoneId': '68b84008-ba58-471e-aa29-e8acb725644c'\n};\nresponse = await(fetch(\"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices/{webexCallingDeviceId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices/{webexCallingDeviceId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'floorId': 'fe1fe388-d23c-418d-b76d-46ce682c24ff',\n    'ipAddress': '123.123.123.123',\n    'name': 'The Bat Phone',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'webexLocationId': 'Z2lzY29zcGFyazovL3VpURUFN',\n    'zoneId': '68b84008-ba58-471e-aa29-e8acb725644c'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api.icmobile.singlewire.com/api/v1/webex-calling-devices/{webexCallingDeviceId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"floorId\": \"fe1fe388-d23c-418d-b76d-46ce682c24ff\",\n         \"ipAddress\": \"123.123.123.123\",\n         \"name\": \"The Bat Phone\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"webexLocationId\": \"Z2lzY29zcGFyazovL3VpURUFN\",\n         \"zoneId\": \"68b84008-ba58-471e-aa29-e8acb725644c\"}'\n"}]}},"/v1/webex-locations":{"get":{"summary":"List all webex locations","operationId":"getWebexLocations","parameters":[{"name":"buildingId","in":"query","description":"When included, searches locations for those with a rule matching the building ID","schema":{"type":"string","format":"uuid"}},{"name":"emergency","in":"query","description":"If `true`, include only locations that are mapped to at least one emergency building","schema":{"type":"boolean"}},{"name":"externalId","in":"query","description":"The ID of the Webex Location in Webex","schema":{"type":"string","maximum":10000},"example":"Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzYyZmM5ODdiLTI2YmUtNDhkOC1hZDY2LWFiYWZhNGYxYjAzZA"},{"name":"includeDeviceCount","in":"query","description":"If `true`, include the number of Webex Calling devices imported per location","schema":{"type":"boolean"}},{"name":"includeRules","in":"query","description":"If `true`, include the rules associated with each Webex Location","schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"name","in":"query","description":"The name of the Webex Location","schema":{"type":"string","maximum":140},"example":"Headquarters"},{"name":"q","in":"query","description":"Perform a term (stemming) search on a Webex Location name or external ID","schema":{"type":"string"},"example":"quarter"},{"name":"siteId","in":"query","description":"When included, searches locations for those with a rule matching the site ID","schema":{"type":"string","format":"uuid"}},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/webex-locations.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all imported Webex Locations.","tags":["Webex Locations"]}},"/v1/webex-locations/{webexLocationId}":{"get":{"summary":"Get a webex location","operationId":"getWebexLocation","parameters":[{"name":"buildingId","in":"query","description":"When included, searches locations for those with a rule matching the building ID","schema":{"type":"string","format":"uuid"}},{"name":"emergency","in":"query","description":"If `true`, include only locations that are mapped to at least one emergency building","schema":{"type":"boolean"}},{"name":"includeDeviceCount","in":"query","description":"If `true`, include the number of Webex Calling devices imported per location","schema":{"type":"boolean"}},{"name":"includeRules","in":"query","description":"If `true`, include the rules associated with each Webex Location","schema":{"type":"boolean"}},{"name":"siteId","in":"query","description":"When included, searches locations for those with a rule matching the site ID","schema":{"type":"string","format":"uuid"}},{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webex-locations.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Webex Locations by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Webex Locations"]},"delete":{"summary":"Delete a webex location","operationId":"deleteWebexLocation","parameters":[{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing Webex Location. This will also delete any Webex Location Rules or Webex Calling Devices associated with the location.","tags":["Webex Locations"]}},"/v1/webex-locations/{webexLocationId}/rules":{"get":{"summary":"List all webex location rules","operationId":"getWebexLocationRules","parameters":[{"name":"buildingId","in":"query","description":"The ID of the building this Webex Location rule is assigning to","schema":{"type":"string","format":"uuid"},"example":"18e1f328-ffd0-4000-8faa-9f05022a0201"},{"name":"limit","in":"query","description":"Limit paginated results to no more than this number","schema":{"type":"integer"},"example":10},{"name":"siteId","in":"query","description":"The ID of the site this Webex Location rule is assigning to","schema":{"type":"string","format":"uuid"},"example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e"},{"name":"start","in":"query","description":"Start token for pagination (use \"next\" or \"previous\" value from a paginated response)","schema":{"type":"string"}},{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}},{"name":"webexLocationId","in":"query","description":"The ID of the Webex Location in InformaCast to which this rule belongs","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"A successful list response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of resources available in the system","example":1},"next":{"type":"string","description":"The token necessary to fetch the next page of results","example":null,"nullable":true},"previous":{"type":"string","description":"The token necessary to fetch the previous page of results","example":null,"nullable":true},"partial":{"type":"boolean","description":"Whether the response contains the remainder of the resources","example":false},"data":{"type":"array","description":"The paginated resources","items":{"$ref":"#/components/schemas/webex-locations_rules.response"}}},"required":["total","partial","data"]}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a list of all Webex Location Rules associated with a Webex Location.","tags":["Webex Location Rules"]},"post":{"summary":"Create a webex location rule","operationId":"createWebexLocationRule","parameters":[{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/webex-locations_rules.post-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webex-locations_rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field webexLocationId is required."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"required"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'rank': 0,\n    'rule': 'string',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'type': 'ANY'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'rank': 0,\n    'rule': 'string',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'type': 'ANY'\n}\ntry:\n    response = requests.post(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules\" \\\n    -X POST \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"rank\": 0,\n         \"rule\": \"string\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"type\": \"ANY\"}'\n"}],"description":"Creates a new Webex Location Rule.","tags":["Webex Location Rules"]}},"/v1/webex-locations/{webexLocationId}/rules/{ruleId}":{"get":{"summary":"Get a webex location rule","operationId":"getWebexLocationRule","parameters":[{"name":"ruleId","in":"path","description":"The rule id path parameter","required":true,"schema":{"type":"string"}},{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webex-locations_rules.response"}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\", {\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.get(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\" \\\n   -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Retrieves a single Webex Location Rule by `id`. Since this is not a list request, there is no pagination wrapper around the result.","tags":["Webex Location Rules"]},"put":{"summary":"Update a webex location rule","operationId":"updateWebexLocationRule","parameters":[{"name":"ruleId","in":"path","description":"The rule id path parameter","required":true,"schema":{"type":"string"}},{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/webex-locations_rules.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webex-locations_rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field webexLocationId is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'rank': 0,\n    'rule': 'string',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'type': 'ANY'\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n    'buildingId': '18e1f328-ffd0-4000-8faa-9f05022a0201',\n    'rank': 0,\n    'rule': 'string',\n    'siteId': '7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e',\n    'type': 'ANY'\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n         \"buildingId\": \"18e1f328-ffd0-4000-8faa-9f05022a0201\",\n         \"rank\": 0,\n         \"rule\": \"string\",\n         \"siteId\": \"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e\",\n         \"type\": \"ANY\"}'\n"}],"description":"Updates an existing Webex Location Rule.","tags":["Webex Location Rules"]},"delete":{"summary":"Delete a webex location rule","operationId":"deleteWebexLocationRule","parameters":[{"name":"ruleId","in":"path","description":"The rule id path parameter","required":true,"schema":{"type":"string"}},{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/_deletion.response"},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"response = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\", {\n  method: \"DELETE\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\"\n  }\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND='\n}\ntry:\n    print(requests.delete(url, headers=headers).json())\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/rules/{ruleId}\" \\\n    -X DELETE \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\"\n"}],"description":"Deletes an existing Webex Location Rule.","tags":["Webex Location Rules"]}},"/v1/webex-locations/{webexLocationId}/update-rules":{"put":{"summary":"Update a webex location update rule","operationId":"updateWebexLocationUpdateRule","parameters":[{"name":"webexLocationId","in":"path","description":"The webex location id path parameter","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/webex-locations_update-rules.put-request"}}}},"responses":{"200":{"description":"A successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/webex-locations_update-rules.response"}}}},"400":{"description":"A validation error","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"description":"The response status code. Validation errors are indicated by 400.","type":"integer","example":400},"message":{"description":"A human-oriented text description of what went wrong.","type":"string","example":"Field rules is not valid."},"type":{"description":"A computer-oriented desciption of the error.","type":"string","example":"invalid-value"}}}}}},"401":{"$ref":"#/components/responses/_unauthorized.response"},"404":{"$ref":"#/components/responses/_not-found.response"},"429":{"$ref":"#/components/responses/_too-many-requests.response"}},"x-codeSamples":[{"lang":"JavaScript","label":"JavaScript","source":"data = {\n\n};\nresponse = await(fetch(\"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/update-rules\", {\n  method: \"PUT\",\n  headers: {\n    \"Authorization\": \"Bearer S35QCVBN6S6TUQKHOND=\",\n    \"Content-Type\": \"application/json\"\n  },\n  body: JSON.stringify(data)\n}));\nif (await(response.ok)) {\n  console.log(await(response.json()));\n} else {\n  console.error(response);\n}\n"},{"lang":"Python","label":"Python","source":"import requests\nfrom requests.exceptions import RequestException\nimport json\n\nurl = \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/update-rules\"\nheaders = {\n    'Authorization': 'Bearer S35QCVBN6S6TUQKHOND=',\n    'Content-Type': 'application/json'\n}\ndata = {\n\n}\ntry:\n    response = requests.put(url, headers=headers, data=json.dumps(data)).json()\n    print(response)\nexcept RequestException as e:\n    print('Unexpected error!', e)\n"},{"lang":"Shell","label":"cURL","source":"curl \"https://api2-icmobile.qadev.singlewire.com/api/v1/webex-locations/{webexLocationId}/update-rules\" \\\n    -X PUT \\\n    -H \"Authorization: Bearer S35QCVBN6S6TUQKHOND=\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n}'\n"}],"tags":["Webex Location Bulk Update Rules"]}}},"security":[{"icmobile_auth":[]},{"bearer_auth":[]}],"components":{"securitySchemes":{"icmobile_auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://api2-icmobile.qadev.singlewire.com/api/login","tokenUrl":"https://api2-icmobile.qadev.singlewire.com/api/token","scopes":{},"x-pkce-only":true,"x-client-id":"open_api"}}},"bearer_auth":{"type":"http","scheme":"bearer"}},"schemas":{"_activation-groups-response":{"$ref":"#/components/schemas/_activation-groups-response-merged"},"_activation-groups-response-merged":{"properties":{"additionIds":{"description":"The specific Device `icop_ids` that are in the Group regardless of filters and other Activation Groups. This is either a MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-388382:SEP001D45E95D12"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"additions":{"description":"The specific devices that are in the group regardless of filters and other activation groups.","items":{"properties":{"attributes":{"$ref":"#/components/schemas/_devices.attributes"},"defunct":{"description":"Whether the device is defunct (meaning no Fusion server currently knows about it, but it remains assigned to one or more device groups).","type":"boolean"},"description":{"description":"The description of the device.","example":"12002","type":"string"},"deviceIdentifier":{"description":"Device type specific string used to identify the device","example":"SEP001D45E95D12","type":"string"},"icopId":{"description":"The id of the device used by the on-premises fusion server","example":"CiscoPhone-388382:SEP001D45E95D12","type":"string"},"id":{"description":"The id of the device","format":"uuid","type":"string"},"isLicensed":{"description":"Whether the device is currently licensed to be used.","example":false,"type":"boolean"},"type":{"description":"The type of the device. Value can be `idns`, `speakers`, `plugins`, or `phones`","example":"idns","type":"string"}},"type":"object"},"type":"array"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"endpointIds":{"description":"The endpoint(s) to which devices in this activation group should get sent.","example":["28a92caf-3d37-11e6-834a-431f5104df9d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"endpoints":{"description":"The endpoint(s) to which devices in this activation group should get sent.","items":{"properties":{"id":{"description":"The id of the endpoint","example":"28a92caf-3d37-11e6-834a-431f5104df9d","format":"uuid","type":"string"},"name":{"description":"The name of the endpoint","example":"Headquarters","type":"string"}},"type":"object"},"type":"array"},"exclusionIds":{"description":"The specific device `icop_ids` that are excluded from the Activation Group regardless of filters and other Activation Groups. This is either a MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-388382:SEP001D45E95D13"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusions":{"description":"The specific devices that are not in the group regardless of filters and other activation groups.","items":{"properties":{"attributes":{"$ref":"#/components/schemas/_devices.attributes"},"defunct":{"description":"Whether the device is defunct (meaning no Fusion server currently knows about it, but it remains assigned to one or more device groups).","type":"boolean"},"description":{"description":"The description of the device.","example":"12003","type":"string"},"deviceIdentifier":{"description":"Device type specific string used to identify the device","example":"SEP001D45E95D13","type":"string"},"icopId":{"description":"The id of the device used by the on-premises fusion server","example":"CiscoPhone-388382:SEP001D45E95D13","type":"string"},"id":{"description":"The id of the device","format":"uuid","type":"string"},"isLicensed":{"description":"Whether the device is currently licensed to be used.","example":false,"type":"boolean"},"type":{"description":"The type of the device. Value can be `idns`, `speakers`, `plugins`, or `phones`","example":"idns","type":"string"}},"type":"object"},"type":"array"},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Activation Group are combined.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"OR","type":"string"},"filters":{"$ref":"#/components/schemas/_activation-groups.filters","description":"Defines rules to dynamically determine the Devices in this Activation Group, combined as specified by `filterType`."},"id":{"description":"Id of the activation group","format":"uuid","type":"string"},"logicalExpression":{"description":"Logical Expression when using LOGICAL_EXPRESSION filterType","maximum":10000,"type":"string"},"name":{"description":"Name of activation group","example":"Primary","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"priority":{"description":"Unique ranking specifies the order in which activation groups are evaluated (lower number = higher priority). If a device falls in more than one group, the lower numbered priority wins.","example":1,"type":"integer"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["name","endpointIds","priority"],"type":"object"},"_activation-groups.filters":{"description":"Defines rules to dynamically determine the Devices in this Activation Group, combined as specified by `filterType`.","items":{"properties":{"attribute":{"description":"The attribute to filter.","example":"Description","type":"string"},"caseSensitive":{"description":"Controls whether comparisons should care about capitalization.","example":false,"type":"boolean"},"comparison":{"description":"The comparison used for the filter (`BEGINS_WITH`, `CONTAINS`, `ENDS_WITH`, `EQUALS`, or `MATCHES_REGEX`; legal values depend on the attribute).","example":"CONTAINS","items":{"enum":["BEGINS_WITH","CONTAINS","ENDS_WITH","EQUALS","MATCHES_REGEX"],"type":"string"},"type":"string"},"complement":{"description":"Controls whether the filter’s meaning is reversed. If `true`, it will match devices that do not meet the specified criteria. (You might use this when it is simpler to specify what to exclude; you can think of it as adding “does not” in front of the rule.)","example":false,"type":"boolean"},"value":{"description":"A text value for the comparison.","example":"John","type":"string"}},"required":["attribute","comparison","value"],"type":"object"},"type":"array"},"_alarms.alarm-thresholds":{"description":"The number of devices that can unregister before we send an alarm notification","items":{"properties":{"alarmId":{"description":"The id of the associated alarm","example":"e11d2245-b583-11ee-9321-adaccf0833ab","format":"uuid","type":"string"},"endpointId":{"description":"The id of the fusion server this threshold should be set to. Allows customization of thresholds if different servers have different speaker counts.","example":"e0fe2894-b583-11ee-9321-e5994a0bea95","format":"uuid","type":"string"},"id":{"description":"The id of the threshold","example":"e081f3b3-b583-11ee-9321-33a90221ee92","format":"uuid","type":"string"},"threshold":{"description":"The number of devices that can unregister before we send an alarm notification.","example":"2","type":"integer"}},"type":"object"},"type":"array"},"_api-devices.building":{"properties":{"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_api-devices.floor":{"properties":{"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_api-devices.pinned-location":{"description":"Defines the API Device's location according to latitude and longitude coordinates.","properties":{"coordinates":{"description":"The longitude/latitude coordinates of the GeoJSON point. A two-element array with longitude first.","example":[-89.50275,43.114705],"type":"array"},"type":{"description":"The GeoJSON object type. Always 'Point'.","example":"Point","type":"string"}},"required":["type"],"type":"object"},"_api-devices.site":{"properties":{"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_api-devices.zone":{"properties":{"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_applications.merged-response":{"properties":{"applicationInfo":{"description":"The primary info describing the Application","example":{"configurationUrl":"https://smoke-co-safety.com/config","documentationUrl":"https://smoke-co-safety.com/user-guide","longDescription":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","privacyPolicyUrl":"https://smoke-co-safety.com/policy","shortDescription":"Triggers scenarios when smoke or CO is detected","supportEmail":"support@smoke-co-safety.com","supportUrl":"https://smoke-co-safety.com/support","termsOfUseUrl":"https://smoke-co-safety.com/terms-of-use"},"properties":{"configurationUrl":{"description":"The configuration url of the Application; required to publish","example":"https://smoke-co-safety.com/config","maxLength":1024,"type":"string"},"documentationUrl":{"description":"The documentation url of the Application; required to publish","example":"https://smoke-co-safety.com/user-guide","maxLength":1024,"type":"string"},"longDescription":{"description":"The long description of the Application","example":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","maxLength":2000,"type":"string"},"privacyPolicyUrl":{"description":"The privacy policy url of the Application; required to publish","example":"https://smoke-co-safety.com/policy","maxLength":1024,"type":"string"},"shortDescription":{"description":"The short description of the Application","example":"Triggers scenarios when smoke or CO is detected","maxLength":150,"type":"string"},"supportEmail":{"description":"The support email of the Application; required to publish","example":"support@smoke-co-safety.com","maxLength":1024,"type":"string"},"supportUrl":{"description":"The support url of the Application; required to publish","example":"https://smoke-co-safety.com/support","maxLength":1024,"type":"string"},"termsOfUseUrl":{"description":"The terms of use url of the Application; required to publish","example":"https://smoke-co-safety.com/terms-of-use","maxLength":1024,"type":"string"}},"type":"object"},"clientId":{"description":"The client id of the Application","example":"XDAZN4LAYH5CUXXPTSDYNHWG4J6MRXNF","maximum":1024,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deauthorizationUri":{"description":"The URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/unauth","maximum":1024,"type":"string"},"displayName":{"description":"The display name of the Application","example":"Smoke and CO Monitoring","maximum":140,"type":"string"},"forMarketplace":{"description":"Whether the Application is meant to be published on the marketplace","example":true,"type":"boolean"},"heroImageId":{"description":"The screenshot, if any, to feature most prominently on the marketplace","example":"3ff898d4-1914-11ef-9d20-57fab6ce7cd6","format":"uuid","type":"string"},"icon":{"description":"The icon file for the Application","properties":{"contentType":{"description":"The MIME type of the image data","example":"image/png","type":"string"},"fileName":{"description":"The name with which the file was uploaded","example":"icon.png","type":"string"},"metadata":{"description":"Other information about the image, provided by the codec implemenatation","example":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":4},"compression":{"compressionTypeName":"deflate","lossless":true,"numProgressiveScans":1},"data":{"bitsPerSample":"8 8 8 8","planarConfiguration":"PixelInterleaved","sampleFormat":"Index"},"dimension":{"imageOrientation":"Normal","pixelAspectRatio":1},"height":512,"transparency":{"alpha":"nonpremultipled"},"width":512},"type":"object"},"size":{"description":"The size, in bytes, of the image data","example":12983,"type":"integer"}},"type":"object"},"id":{"description":"The ID of the Application","example":"09d7154e-f904-11ee-a7c4-2720dbaf6d93","format":"uuid","type":"string"},"name":{"description":"The name of the Application","example":"Smoke and CO Monitoring","maximum":50,"type":"string"},"parentApplicationId":{"description":"The application, if any, that this is a draft of a new version of","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"primaryContact":{"description":"The primary contact for the Application; reserved for future use","example":{"email":"john.smith@smoke-co-safety.com","name":"John Smith","phoneNumber":"(555) 123-4567"},"properties":{"email":{"description":"The primary contact email for the Application","example":"john.smith@smoke-co-safety.com","maxLength":255,"type":"string"},"name":{"description":"The primary contact name for the Application","example":"John Smith","maxLength":140,"type":"string"},"phoneNumber":{"description":"The primary contact phone number for the Application","example":"(555) 123-4567","maxLength":64,"type":"string"}},"type":"object"},"publisherInfo":{"description":"The publisher info for the Application","example":{"companyName":"Smoke and CO Safety"},"properties":{"companyName":{"description":"The publisher's company name of the Application; required to publish","example":"Smoke and CO Safety","maxLength":255,"type":"string"}},"type":"object"},"redirectUris":{"description":"The redirect uris supported by the Application once published; required for client applications and published server applications","example":["https://smoke-co-safety.com/auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"scopes":{"description":"The scopes of the Application. Available scopes: `urn:singlewire:alarms:read`, `urn:singlewire:areas-of-interest:read`, `urn:singlewire:areas-of-interest:write`, `urn:singlewire:bell-schedules:read`, `urn:singlewire:bell-schedules:write`, `urn:singlewire:collaboration-groups:read`, `urn:singlewire:collaboration-groups:write`, `urn:singlewire:confirmation-requests:read`, `urn:singlewire:confirmation-requests:write`, `urn:singlewire:distribution-lists:read`, `urn:singlewire:distribution-lists:write`, `urn:singlewire:incident-plans:read`, `urn:singlewire:incident-plans:write`, `urn:singlewire:message-templates:read`, `urn:singlewire:message-templates:write`, `urn:singlewire:notification-profiles:read`, `urn:singlewire:notification-profiles:write`, `urn:singlewire:notifications:read`, `urn:singlewire:notifications:write`, `urn:singlewire:reports:read`, `urn:singlewire:ring-lists:read`, `urn:singlewire:ring-lists:write`, `urn:singlewire:scenario-notifications:write`, `urn:singlewire:scenarios:read`, `urn:singlewire:scenarios:write`, `urn:singlewire:session:read`, `urn:singlewire:session:write`, `urn:singlewire:site-roles:read`, `urn:singlewire:site-roles:write`, `urn:singlewire:sites:read`, `urn:singlewire:sites:write`, `urn:singlewire:tracking-events:read`, `urn:singlewire:users:read`, `urn:singlewire:users:write`","example":["urn:singlewire:message-templates:read","urn:singlewire:session:read"],"items":{"type":"string"},"maximum":64,"minimum":1,"type":"array","uniqueItems":true},"status":{"description":"The publication status of the Application; all start out as `DRAFT`, but applications intended for the marketplace can be changed to `SUBMITTED` when ready for review, and then may become `PUBLISHED`","enum":["DRAFT","SUBMITTED","PUBLISHED","SUSPENDED"],"example":"DRAFT","type":"string"},"testingDeauthorizationUri":{"description":"The testing URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/testing-unauth","maximum":1024,"type":"string"},"testingRedirectUris":{"description":"The testing redirect uris supported by the Application","example":["https://smoke-co-safety.com/testing-auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"type":{"description":"The type of the Application: `GENERIC_CLIENT` and `NATIVE_CLIENT` Applications are intended for use by end users; `SERVER` Applications are intended for integration with other systems","enum":["GENERIC_CLIENT","NATIVE_CLIENT","SERVER"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"usePkce":{"description":"Whether to use the PKCE authorization flow or not. Must be set to `true` when the Application's type is `NATIVE_CLIENT`; can be `false` otherwise","type":"boolean"},"version":{"description":"The version of the Application","example":"0.0.1","maximum":12,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_applications.response":{"$ref":"#/components/schemas/_applications.merged-response"},"_applications_draft":{"properties":{"applicationInfo":{"description":"The primary info describing the Application","example":{"configurationUrl":"https://smoke-co-safety.com/config","documentationUrl":"https://smoke-co-safety.com/user-guide","longDescription":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","privacyPolicyUrl":"https://smoke-co-safety.com/policy","shortDescription":"Triggers scenarios when smoke or CO is detected","supportEmail":"support@smoke-co-safety.com","supportUrl":"https://smoke-co-safety.com/support","termsOfUseUrl":"https://smoke-co-safety.com/terms-of-use"},"properties":{"configurationUrl":{"description":"The configuration url of the Application; required to publish","example":"https://smoke-co-safety.com/config","maxLength":1024,"type":"string"},"documentationUrl":{"description":"The documentation url of the Application; required to publish","example":"https://smoke-co-safety.com/user-guide","maxLength":1024,"type":"string"},"longDescription":{"description":"The long description of the Application","example":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","maxLength":2000,"type":"string"},"privacyPolicyUrl":{"description":"The privacy policy url of the Application; required to publish","example":"https://smoke-co-safety.com/policy","maxLength":1024,"type":"string"},"shortDescription":{"description":"The short description of the Application","example":"Triggers scenarios when smoke or CO is detected","maxLength":150,"type":"string"},"supportEmail":{"description":"The support email of the Application; required to publish","example":"support@smoke-co-safety.com","maxLength":1024,"type":"string"},"supportUrl":{"description":"The support url of the Application; required to publish","example":"https://smoke-co-safety.com/support","maxLength":1024,"type":"string"},"termsOfUseUrl":{"description":"The terms of use url of the Application; required to publish","example":"https://smoke-co-safety.com/terms-of-use","maxLength":1024,"type":"string"}},"type":"object"},"clientId":{"description":"The client id of the Application","example":"XDAZN4LAYH5CUXXPTSDYNHWG4J6MRXNF","maximum":1024,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deauthorizationUri":{"description":"The URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/unauth","maximum":1024,"type":"string"},"displayName":{"description":"The display name of the Application","example":"Smoke and CO Monitoring","maximum":140,"type":"string"},"forMarketplace":{"description":"Whether the Application is meant to be published on the marketplace","example":true,"type":"boolean"},"heroImageId":{"description":"The screenshot, if any, to feature most prominently on the marketplace","example":"3ff898d4-1914-11ef-9d20-57fab6ce7cd6","format":"uuid","type":"string"},"icon":{"description":"The icon file for the Application","properties":{"contentType":{"description":"The MIME type of the image data","example":"image/png","type":"string"},"fileName":{"description":"The name with which the file was uploaded","example":"icon.png","type":"string"},"metadata":{"description":"Other information about the image, provided by the codec implemenatation","example":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":4},"compression":{"compressionTypeName":"deflate","lossless":true,"numProgressiveScans":1},"data":{"bitsPerSample":"8 8 8 8","planarConfiguration":"PixelInterleaved","sampleFormat":"Index"},"dimension":{"imageOrientation":"Normal","pixelAspectRatio":1},"height":512,"transparency":{"alpha":"nonpremultipled"},"width":512},"type":"object"},"size":{"description":"The size, in bytes, of the image data","example":12983,"type":"integer"}},"type":"object"},"id":{"description":"The ID of the Application","example":"09d7154e-f904-11ee-a7c4-2720dbaf6d93","format":"uuid","type":"string"},"name":{"description":"The name of the Application","example":"Smoke and CO Monitoring","maximum":50,"type":"string"},"parentApplicationId":{"description":"The application, if any, that this is a draft of a new version of","example":"09d7154e-f904-11ee-a7c4-2720dbaf6d93","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"primaryContact":{"description":"The primary contact for the Application; reserved for future use","example":{"email":"john.smith@smoke-co-safety.com","name":"John Smith","phoneNumber":"(555) 123-4567"},"properties":{"email":{"description":"The primary contact email for the Application","example":"john.smith@smoke-co-safety.com","maxLength":255,"type":"string"},"name":{"description":"The primary contact name for the Application","example":"John Smith","maxLength":140,"type":"string"},"phoneNumber":{"description":"The primary contact phone number for the Application","example":"(555) 123-4567","maxLength":64,"type":"string"}},"type":"object"},"publisherInfo":{"description":"The publisher info for the Application","example":{"companyName":"Smoke and CO Safety"},"properties":{"companyName":{"description":"The publisher's company name of the Application; required to publish","example":"Smoke and CO Safety","maxLength":255,"type":"string"}},"type":"object"},"redirectUris":{"description":"The redirect uris supported by the Application once published; required for client applications and published server applications","example":["https://smoke-co-safety.com/auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"scopes":{"description":"The scopes of the Application. Available scopes: `urn:singlewire:alarms:read`, `urn:singlewire:areas-of-interest:read`, `urn:singlewire:areas-of-interest:write`, `urn:singlewire:bell-schedules:read`, `urn:singlewire:bell-schedules:write`, `urn:singlewire:collaboration-groups:read`, `urn:singlewire:collaboration-groups:write`, `urn:singlewire:confirmation-requests:read`, `urn:singlewire:confirmation-requests:write`, `urn:singlewire:distribution-lists:read`, `urn:singlewire:distribution-lists:write`, `urn:singlewire:incident-plans:read`, `urn:singlewire:incident-plans:write`, `urn:singlewire:message-templates:read`, `urn:singlewire:message-templates:write`, `urn:singlewire:notification-profiles:read`, `urn:singlewire:notification-profiles:write`, `urn:singlewire:notifications:read`, `urn:singlewire:notifications:write`, `urn:singlewire:reports:read`, `urn:singlewire:ring-lists:read`, `urn:singlewire:ring-lists:write`, `urn:singlewire:scenario-notifications:write`, `urn:singlewire:scenarios:read`, `urn:singlewire:scenarios:write`, `urn:singlewire:session:read`, `urn:singlewire:session:write`, `urn:singlewire:site-roles:read`, `urn:singlewire:site-roles:write`, `urn:singlewire:sites:read`, `urn:singlewire:sites:write`, `urn:singlewire:tracking-events:read`, `urn:singlewire:users:read`, `urn:singlewire:users:write`","example":["urn:singlewire:message-templates:read","urn:singlewire:session:read"],"items":{"type":"string"},"maximum":64,"minimum":1,"type":"array","uniqueItems":true},"status":{"description":"The publication status of the Application; all start out as `DRAFT`, but applications intended for the marketplace can be changed to `SUBMITTED` when ready for review, and then may become `PUBLISHED`","enum":["DRAFT","SUBMITTED","PUBLISHED","SUSPENDED"],"example":"DRAFT","type":"string"},"testingDeauthorizationUri":{"description":"The testing URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/testing-unauth","maximum":1024,"type":"string"},"testingRedirectUris":{"description":"The testing redirect uris supported by the Application","example":["https://smoke-co-safety.com/testing-auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"type":{"description":"The type of the Application: `GENERIC_CLIENT` and `NATIVE_CLIENT` Applications are intended for use by end users; `SERVER` Applications are intended for integration with other systems","enum":["GENERIC_CLIENT","NATIVE_CLIENT","SERVER"],"type":"string"},"usePkce":{"description":"Whether to use the PKCE authorization flow or not. Must be set to `true` when the Application's type is `NATIVE_CLIENT`; can be `false` otherwise","type":"boolean"},"version":{"description":"The version of the Application","example":"0.0.1","maximum":12,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_applications_screenshots.merged-response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"The ID of the Screenshot","example":"3ff898d4-1914-11ef-9d20-57fab6ce7cd6","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"screenshot":{"description":"Describes this screenshot","properties":{"contentType":{"description":"The MIME type of the image data","example":"image/png","type":"string"},"fileName":{"description":"The name with which the file was uploaded","example":"Screenshot2.png","type":"string"},"metadata":{"description":"Other information about the image, provided by the codec implemenatation","example":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":4},"compression":{"compressionTypeName":"deflate","lossless":true,"numProgressiveScans":1},"data":{"bitsPerSample":"8 8 8 8","planarConfiguration":"PixelInterleaved","sampleFormat":"Index"},"dimension":{"imageOrientation":"Normal","pixelAspectRatio":1},"height":1080,"transparency":{"alpha":"nonpremultipled"},"width":1920},"type":"object"},"size":{"description":"The size, in bytes, of the image data","example":189983,"type":"integer"}},"type":"object"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_applications_screenshots.response":{"$ref":"#/components/schemas/_applications_screenshots.merged-response"},"_beacons.building":{"properties":{"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_beacons.floor":{"properties":{"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_beacons.site":{"properties":{"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_beacons.zone":{"properties":{"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"isOutdoor":{"description":"Indicates whether the room/zone within a building is outdoor (e.g. courtyard)","type":"boolean"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_bell-schedules-response-merged":{"properties":{"bellScheduleEntries":{"description":"Bell schedule entries are the configured ring list for a particular day within a rolling schedule","items":{"properties":{"entryNum":{"description":"The day in a rolling schedule in which a ring list is applied. `entryNum` must be an integer between 0-20 which corresponds to a day in a rolling schedule. A rolling schedule can be one week (0-6), two weeks (0-13), or three weeks (0-20). Rolling schedules start on Monday, so 0 is the first Monday in the rolling schedule, 1 is the first Tuesday, etc.","example":0,"type":"integer"},"ringListId":{"description":"The `id` of the Ring List applied on `entryNum` day. If no rings are needed, this can be `null`.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"},"ringListName":{"description":"The name of the ring list applied on entryNum day. This is present in the response as a convenience, do not send it in a `PUT` or `POST`, it would be ignored.","example":"Friday","maximum":250,"type":"string"}},"required":["ringListId","entryNum"],"type":"object"},"type":"array"},"bellScheduleExceptions":{"description":"Bell schedule exceptions are overrides to one or more bell schedule entries attached to a bell schedule","items":{"properties":{"description":{"description":"Description of the exception to create in each bell schedule.","example":"Snow Day","maximum":250,"type":"string"},"endDate":{"description":"End date for the exception.","example":"2024-01-04","format":"date","type":"string"},"id":{"description":"The id of the bell schedule exception, for efficient retrieval or manipulation of the exception. Not writable.","format":"uuid","type":"string"},"ringListId":{"description":"The `id` of the Ring List that overrides the bell schedule entries ring list between the bell schedule exception’s `startDate` and `endDate`. If no rings are needed, this can be `null`.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"},"ringListName":{"description":"The name of the ring list overriding the ring list of the bell schedule entry. This is present in the response as a convenience, do not send it in a `PUT` or `POST`, it would be ignored.","example":"Snow Day","maximum":250,"type":"string"},"startDate":{"description":"Start date for the exception.","example":"2024-01-03","format":"date","type":"string"}},"required":["startDate","endDate"],"type":"object"},"type":"array"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"description":{"description":"An optional description for the bell schedule","example":"School Year 2024-2025","maximum":255,"type":"string"},"endDate":{"description":"The end date for your bell schedule in ISO 8601 YYYY-MM-DD format","example":"2025-05-25","format":"date","type":"string"},"id":{"description":"Id of the bell schedule","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this bell schedule is globally shared","example":true,"type":"boolean"},"name":{"description":"A unique name for the bell schedule","example":"School Year 24-25","maximum":50,"type":"string"},"numWeeks":{"description":"The number of weeks in a bell schedule. Value can only be 1, 2, or 3 which corresponds to a weekly, bi-weekly, or tri-weekly schedule respectively.","example":1,"type":"integer"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"startDate":{"description":"The start date for your bell schedule in ISO 8601 YYYY-MM-DD format, must be on or after 2000-01-01","example":"2024-08-28","format":"date","type":"string"},"timeZone":{"description":"The time zone of the ring list expression.","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["name","numWeeks","startDate","endDate"],"type":"object"},"_bell-schedules.bell-schedule-entries":{"description":"Bell schedule entries are the configured ring list for a particular day within a rolling schedule","items":{"properties":{"entryNum":{"description":"The day in a rolling schedule in which a ring list is applied. `entryNum` must be an integer between 0-20 which corresponds to a day in a rolling schedule. A rolling schedule can be one week (0-6), two weeks (0-13), or three weeks (0-20). Rolling schedules start on Monday, so 0 is the first Monday in the rolling schedule, 1 is the first Tuesday, etc.","example":0,"type":"integer"},"ringListId":{"description":"The `id` of the Ring List applied on `entryNum` day. If no rings are needed, this can be `null`.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"}},"required":["ringListId","entryNum"],"type":"object"},"type":"array"},"_bell-schedules.bell-schedule-exceptions":{"description":"Bell schedule exceptions are overrides to one or more bell schedule entries attached to a bell schedule","items":{"properties":{"description":{"description":"Description of the exception to create in each bell schedule.","example":"Snow Day","maximum":250,"type":"string"},"endDate":{"description":"End date for the exception.","example":"2024-01-04","format":"date","type":"string"},"ringListId":{"description":"The ring list to use during the exception, omit to suppress rings.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"},"startDate":{"description":"Start date for the exception.","example":"2024-01-03","format":"date","type":"string"}},"required":["startDate","endDate"],"type":"object"},"type":"array"},"_bell-schedules_clone":{"properties":{"bellScheduleEntries":{"description":"Bell schedule entries are the configured ring list for a particular day within a rolling schedule","items":{"properties":{"entryNum":{"description":"The day in a rolling schedule in which a ring list is applied. `entryNum` must be an integer between 0-20 which corresponds to a day in a rolling schedule. A rolling schedule can be one week (0-6), two weeks (0-13), or three weeks (0-20). Rolling schedules start on Monday, so 0 is the first Monday in the rolling schedule, 1 is the first Tuesday, etc.","example":0,"type":"integer"},"ringListId":{"description":"The `id` of the Ring List applied on `entryNum` day. If no rings are needed, this can be `null`.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"},"ringListName":{"description":"The name of the ring list applied on entryNum day. This is present in the response as a convenience, do not send it in a `PUT` or `POST`, it would be ignored.","example":"Friday","maximum":250,"type":"string"}},"required":["ringListId","entryNum"],"type":"object"},"type":"array"},"bellScheduleExceptions":{"description":"Bell schedule exceptions are overrides to one or more bell schedule entries attached to a bell schedule","items":{"properties":{"description":{"description":"Description of the exception to create in each bell schedule.","example":"Snow Day","maximum":250,"type":"string"},"endDate":{"description":"End date for the exception.","example":"2024-01-04","format":"date","type":"string"},"id":{"description":"The id of the bell schedule exception, for efficient retrieval or manipulation of the exception. Not writable.","format":"uuid","type":"string"},"ringListId":{"description":"The `id` of the Ring List that overrides the bell schedule entries ring list between the bell schedule exception’s `startDate` and `endDate`. If no rings are needed, this can be `null`.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"},"ringListName":{"description":"The name of the ring list overriding the ring list of the bell schedule entry. This is present in the response as a convenience, do not send it in a `PUT` or `POST`, it would be ignored.","example":"Snow Day","maximum":250,"type":"string"},"startDate":{"description":"Start date for the exception.","example":"2024-01-03","format":"date","type":"string"}},"required":["startDate","endDate"],"type":"object"},"type":"array"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"description":{"description":"An optional description for the bell schedule","example":"School Year 2024-2025","maximum":255,"type":"string"},"endDate":{"description":"The end date for your bell schedule in ISO 8601 YYYY-MM-DD format","example":"2025-05-25","format":"date","type":"string"},"id":{"description":"Id of the bell schedule","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this bell schedule is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the cloned bell. The name will be the original bell schedule name with ` (Copy)` appended.","example":"School Year 24-25 (Copy)","type":"string"},"numWeeks":{"description":"The number of weeks in a bell schedule. Value can only be 1, 2, or 3 which corresponds to a weekly, bi-weekly, or tri-weekly schedule respectively.","example":1,"type":"integer"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"startDate":{"description":"The start date for your bell schedule in ISO 8601 YYYY-MM-DD format, must be on or after 2000-01-01","example":"2024-08-28","format":"date","type":"string"},"timeZone":{"description":"The time zone of the ring list expression.","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"}},"required":["name","numWeeks","startDate","endDate"],"type":"object"},"_bell-schedules_response":{"$ref":"#/components/schemas/_bell-schedules-response-merged"},"_collaboration-groups-response":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"distributionListIds":{"description":"Distribution List IDs associated with the collaboration group","items":{"example":"5b22e120-e02b-21eb-8574-65f5f670ab91","format":"uuid","type":"string"},"type":"array"},"distributionLists":{"description":"Distribution Lists associated with the collaboration group","example":[{"campaign":null,"createdAt":"2023-07-08T25:30:38.216Z","id":"5b22e120-e02b-21eb-8574-65f5f670ab91","isSubscribable":false,"loadSourceId":null,"name":"Campus Staff","syncId":"5b22c130-e02e-11eb-8574-75f5c670ba91:1625475238118","updatedAt":"2021-07-08T20:30:38.216Z"}],"items":{"$ref":"#/components/schemas/distribution-lists.response"},"type":"array"},"id":{"description":"User Subscription `id`","format":"uuid","type":"string"},"name":{"description":"The name to give the new collaboration group. May be up to 140 characters long.","example":"Star Command","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"properties":{"$ref":"#/components/schemas/_collaboration-groups.properties"},"type":{"description":"The type of the collaboration group","enum":["conference-call","cisco-spark","outbound-cap","outbound-rss","msteams-channel"],"example":"outbound-rss","type":"string"},"userIds":{"description":"User IDs associated with the collaboration group","items":{"example":"5b2acafd-a02b-11eb-8574-beac6b3ee5bc","format":"uuid","type":"string"},"type":"array"},"users":{"description":"Users associated with the collaboration group","example":[{"createdAt":"2022-05-08T20:30:38.163Z","email":"john_doe@example.com","id":"5b2acafd-a02b-11eb-8574-beac6b3ee5bc","idleTimeout":120,"isLicensed":true,"isLocked":false,"loadSourceId":null,"name":"John Doe","selfRegistered":false,"type":"regular"}],"items":{"$ref":"#/components/schemas/users.response"},"type":"array"}},"type":"object"},"_collaboration-groups.properties":{"description":"Configuration of the collaboration group, structure depends on the `type`","oneOf":[{"properties":{"bypassIvr":{"description":"Optional, can be used to skip the IVR when there is only a single conference call to join for phone-call devices.","type":"boolean"},"createPin":{"description":"Optional, must be between 4 and 8 digits and be unique.","example":"8454","pattern":"^[0-9]{4,8}$","type":"string"},"joinPin":{"description":"Required, must be between 4 and 8 digits and be unique.","example":"8455","pattern":"^[0-9]{4,8}$","type":"string"}},"title":"conference-call","type":"object"},{"properties":{"disabled":{"description":"Disables the rss feed","type":"boolean"},"displayPolicy":{"description":"Controls which feed elements are shown","enum":["display-all","most-recent"],"type":"string"}},"title":"outbound-rss","type":"object"},{"properties":{"mode":{"description":"Controls whether an existing space is re-used, or a new space is created","enum":["newSpace","specificSpace"],"type":"string"},"newSpace":{"description":"When mode is `newSpace`, holds the name to give the space","properties":{"name":{"description":"The name to assign to the newly created space","example":"My Space","type":"string"}},"type":"object"},"specificSpace":{"description":"When mode is `specificSpace`, holds the id of the space to use","properties":{"spaceId":{"description":"The id of the space to be used for the group","type":"string"}},"type":"object"}},"title":"cisco-spark","type":"object"},{"properties":{"connection":{"description":"The name of the connection configuration to use to send the CAP message. This value must match the name of a connection configuration defined on the Outbound CAP extension","example":"CapConnection","type":"string"},"location":{"description":"This is a description of the location of the event, which can be used by other systems for routing the CAP message to the correct location","example":"Grandma's House","type":"string"}},"title":"outbound-cap","type":"object"},{"properties":{"channelId":{"description":"The id of the channel being used by the group","example":"19:y64975fdb34546b0a86364fedf9dad74@thread.tacv2","type":"string"},"channelName":{"description":"The name of the channel being used by the group","example":"Quality Assurance","type":"string"},"disabled":{"description":"Disables sending to the Microsoft Teams channel","type":"boolean"},"teamId":{"description":"The id of the team being used by the group","example":"19:DWnRkAu-BbeE82d0F15eTpHC-kDa7fd1-EKThlpb-k1@thread.tacv2","type":"string"},"teamName":{"description":"The name of the team being used by the group","example":"Development Team","type":"string"}},"title":"msteams-channel","type":"object"}],"type":"object"},"_confirmation-requests_clone":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"dynamicReplies":{"description":"A list of Dynamic Replies attached to this confirmation request, which determine immediate reply behavior.","items":{"$ref":"#/components/schemas/_confirmation-requests_dynamic-replies.response"},"type":"array"},"escalationRules":{"description":"A list of Escalation Rules attached to this confirmation request, which determine post-response behavior.","items":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.response"},"type":"array"},"expirationPeriod":{"description":"Duration in seconds for which the confirmation request will be active and responses will be accepted. Defaults to 0, which means the confirmation request is available to accept responses indefinitely. If supplied, must be between 60 (one minute) and 2592000 (thirty days).","example":36000,"type":"integer"},"facilityId":{"description":"The ID of the facility this confirmation request belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"ID of the Confirmation Request","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"initiateTrackingOptions":{"description":"Matched with options you can specify which `options` responses should initiate a tracking event.","example":[true,false],"items":{"type":"boolean"},"maximum":16,"type":"array","uniqueItems":true},"isShared":{"description":"Denotes whether or not this confirmation request is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the cloned confirmation request, which is the prompt that will be presented to the user. The name will be the original Confirmation Request with ` (Copy)` appended.","example":"Are you safe? (Copy)","type":"string"},"options":{"description":"A list of all the response choices that will be available to the recipient. At most 16 options may be provided.","example":["No, please call me!","Atop Mount Olympus"],"items":{"type":"string"},"maximum":16,"minimum":1,"type":"array","uniqueItems":true},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_confirmation-requests_dynamic-replies.response":{"example":{"confirmationRequestId":"18ee34d0-05b0-4000-8449-a5afa05c9d01","createdAt":"2022-12-01T21:08:31.433Z","every":"Get inside!","id":"18ee34d0-05b0-4000-817a-3f4edead4601","optionLabel":"I am safe: outside building","permissions":["get","put"],"updatedAt":"2023-05-19T16:37:25.087Z"},"properties":{"confirmationRequestId":{"description":"ID of the associated confirmation request","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","format":"date-time","type":"string"},"every":{"description":"Used without `quota`, `first` or `rest`, to reply in the same way to all matching confirmation responses.","maximum":255,"type":"string"},"first":{"description":"Can only be used when a `quota` and `rest` are specified. The text with which to immediately reply to the first `quota` respondents.","maximum":255,"type":"string"},"id":{"description":"ID of the dynamic reply","format":"uuid","type":"string"},"optionLabel":{"description":"The confirmation response option text the dynamic reply rule applies to","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"quota":{"description":"(Required for quota-based replies only) The first `quota` respondents will receive the `first` reply text. All others will receive the `rest` text.","type":"integer"},"rest":{"description":"Once `quota` number of respondents have confirmed with the `optionLabel` specified, we reply with the `rest` text to all subsequent confirmations of that `optionLabel` option.","maximum":255,"type":"string"},"updatedAt":{"description":"When this resource was last updated","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_cucm-clusters.cucm-cluster-fusion-servers":{"properties":{"cucmClusterFusionServerId":{"description":"The `id` of the CUCM Cluster Fusion Server","format":"uuid","type":"string"},"endpointId":{"description":"The Fusion Server ID with which this configuration should be associated","example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa","format":"uuid","type":"string"},"endpointName":{"description":"The name of the CUCM Cluster Fusion Server","example":"Fusion2","type":"string"},"isPhoneGatherer":{"description":"Indicates whether the Fusion Server handles contacting CUCM and gathering the list of phones. A CUCM Cluster must have exactly one phone gatherer server","example":true,"type":"boolean"},"makeCtiConnection":{"description":"Allows CTI connections to this CUCM cluster and makes this CUCM cluster the \"Primary\" cluster for this Fusion Server. A Fusion Server may have at most 1 Primary Cluster. Setting this value to true will unset it for any other CUCM cluster assigned to this Fusion Server.","example":true,"type":"boolean"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_device-groups-response":{"$ref":"#/components/schemas/device-groups-response-merged"},"_device-groups.filters":{"description":"Defines rules to dynamically determine the Devices in this Device Group, combined as specified by filterType. If this Device Group is also filtered with baseDeviceGroupIds, these filters will further adjust the devices in the group.","items":{"properties":{"attribute":{"description":"The attribute to filter.","example":"EndUserIdentifier","type":"string"},"caseSensitive":{"description":"Controls whether comparisons should care about capitalization.","example":false,"type":"boolean"},"comparison":{"description":"The comparison used for the filter (`BEGINS_WITH`, `CONTAINS`, `ENDS_WITH`, `EQUALS`, or `MATCHES_REGEX`; legal values depend on the attribute).","example":"EQUALS","items":{"enum":["BEGINS_WITH","CONTAINS","ENDS_WITH","EQUALS","MATCHES_REGEX"],"type":"string"},"type":"string"},"complement":{"description":"Controls whether the filter’s meaning is reversed. If true, it will match devices that do not meet the specified criteria. (You might use this when it is simpler to specify what to exclude; you can think of it as adding “does not” in front of the rule.)","example":false,"type":"boolean"},"value":{"description":"A text value for the comparison.","example":"John","type":"string"}},"type":"object"},"type":"array"},"_device-groups_clone":{"properties":{"additionIds":{"description":"The specific device icop_ids that are in the Group regardless of filters and other Device Groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"additions":{"description":"The specific devices that are in the group regardless of filters and other device groups.","items":{"$ref":"#/components/schemas/devices.response"},"type":"array"},"baseDeviceGroupIds":{"description":"If present, contains a list of Device Group ids that form the starting Devices for this Device Group.","example":["9fb8c937-fd05-11e6-a30e-e198ed79b70a"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"baseDeviceGroups":{"description":"If present, contains the list of Device Group `id`s that form the starting Devices for this Device Group.","example":[],"items":{"$ref":"#/components/schemas/_device-groups-response"},"type":"array"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"exclusionIds":{"description":"The specific device icop_ids that are excluded from this device group regardless of filters and other device groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusions":{"description":"The specific devices that are excluded from this device group regardless of filters and other device groups.","items":{"$ref":"#/components/schemas/devices.response"},"type":"array"},"facilityId":{"description":"Facility ID associated with the device group.","format":"uuid","type":"string"},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Device Group are combined.  If this device group is also configured with baseDeviceGroupIds, the filters will further adjust the devices in the group.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"REJECT","type":"string"},"filters":{"$ref":"#/components/schemas/_device-groups.filters","description":"Defines rules to dynamically determine the Devices in this Device Group, combined as specified by filterType. If this Device Group is also filtered with baseDeviceGroupIds, these filters will further adjust the devices in the group."},"id":{"description":"The `id` of this specific device group, allowing it to be manipulated or retrieved individually.","example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this device group is globally shared","example":true,"type":"boolean"},"logicalExpression":{"description":"Specify a combination of rules based on the index of the rule and using logical operators 'and' and 'or' along with parentheses. Used when filterType is 'LOGICAL_EXPRESSION","example":"(1 AND 2)","maximum":10000,"type":"string"},"name":{"description":"The name of the cloned device group","example":"Staff Group (Copy)","type":"string"},"numIdns":{"description":"Number of matching IDNs. Included if query contains the include-device-counts set to true.","example":100,"type":"number"},"numPhones":{"description":"Number of matching phones. Included if query contains the include-device-counts set to true.","example":250,"type":"number"},"numPlugins":{"description":"Number of matching plugins. Included if query contains the include-device-counts set to true.","example":2,"type":"number"},"numSpeakers":{"description":"Number of matching speakers. Included if query contains the include-device-counts set to true.","example":14,"type":"number"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was updated","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"}},"required":["name"],"type":"object"},"_devices.attributes":{"description":"Details about the device. Structure and available attributes vary by device type","properties":{"AuthenticationUrl":{"description":"Device's Authentication Url","example":"http://10.3.251.12:8081/InformaCast/phone/auth","type":"string"},"CallManagerCSS":{"description":"Call Manager Calling Search Space","example":"internal","type":"string"},"CallManagerClusterAxlName":{"description":"Call Manager Axl Name associated with device","example":"ucm01","type":"string"},"CallManagerClusterName":{"description":"Call Manager Cluster Name","example":"Main Cluster","type":"string"},"CallManagerDevicePool":{"description":"Call Manager Device Pool","example":"ucm01-test","type":"string"},"CallManagerDeviceType":{"description":"Device Code denoting device type","example":"568","type":"string"},"CanPlayHQAudio":{"description":"Whether the device can play high-quality audio","example":true,"type":"boolean"},"CanSendHQAudio":{"description":"Whether the device can record high-quality audio","example":true,"type":"boolean"},"ContactClosureDescription":{"description":"Description of the M2M Contact Closure device to which the M2M Output Port belongs","example":"Description of contact closure","type":"string"},"ContactClosureIPAddress":{"description":"IP address of the M2M Contact Closure device to which the M2M Output Port belongs","example":"127.0.0.1","type":"string"},"ContactClosureName":{"description":"Name of the M2M Contact Closure device to which the M2M Output Port belongs","example":"Contact closure name","type":"string"},"Description":{"description":"Description of the device","example":"Cafeteria Phone 8080","type":"string"},"DeviceProduct":{"description":"The device's product name","example":"DesktopNotifier","type":"string"},"DeviceString":{"description":"An internal representation of the device","example":"IDN:Mac:1.0","type":"string"},"DeviceVersion":{"description":"Device version","example":"IDN","type":"string"},"DirectoryNumbers":{"description":"Directory Numbers associated with the device","example":"[880000]","type":"string"},"EndUserIdentifier":{"description":"End User Identifier","example":"ECA12434","type":"string"},"HasDisplay":{"description":"Whether the device has a visual display or not","example":true,"type":"boolean"},"IPAddress":{"description":"IP Address associated with the device","example":"172.30.227.227","type":"string"},"InformaCastDeviceType":{"description":"InformaCast Device Type","example":"CiscoIPPhone","type":"string"},"IsConfigured":{"description":"Whether the device is configured","example":true,"type":"boolean"},"IsDesktopNotifier":{"description":"Whether the device is an IDN","example":true,"type":"boolean"},"IsRecordingSource":{"description":"Whether the device can record","example":true,"type":"boolean"},"IsRegistered":{"description":"Whether the device is registered","example":true,"type":"boolean"},"IsRegisteredSip":{"description":"Whether the device is registered with SIP","example":true,"type":"boolean"},"Location":{"description":"Location of the device","example":"Hub_None","type":"string"},"MACAddress":{"description":"MAC address","example":"001234567890","type":"string"},"Name":{"description":"Name of the device","example":"SEP021020880000","type":"string"},"NetworkLocation":{"description":"Network location (specific to Quick URL devices)","example":"http://127.0.0.1/status","type":"string"},"PartitionNames":{"description":"Names of partitions the device belongs to","example":"[On Cluster]","type":"string"},"Port":{"description":"Port (specific to Multicast Stream devices)","example":"22","type":"string"},"ProfileDescription":{"description":"Profile description","example":"Description of profile","type":"string"},"ReportedIPv4Address":{"description":"Reported IPv4 Address","example":"172.30.229.89","type":"string"},"ReportedName":{"description":"Reported name","example":"DEVICE.DOMAIN.LAN","type":"string"},"ScrollSpeedAdjustment":{"description":"Scroll speed adjustment","example":"0","type":"string"},"SpeakerTag":{"description":"A unique identifier which represents the speaker model and its unique attributes","example":"SP-ModelName-CapabilityLabel","type":"string"},"StatusUrl":{"description":"The status url for the device","example":"http://127.0.0.1:50507/status","type":"string"},"Volume":{"description":"Volume","example":"10","type":"string"}},"type":"object"},"_dialcast-dialing-configurations.actions":{"items":{"$ref":"#/components/schemas/_rule-actions.action-resources"},"type":"array"},"_dialcast-dialing-configurations.authentication":{"properties":{"pin":{"description":"The authentication method pin value","example":"1234","type":"string"},"type":{"description":"The authentication method type","enum":["PIN"],"example":"PIN","type":"string"}},"required":["type","pin"],"type":"object"},"_dialcast-dialing-configurations.endpoints":{"items":{"properties":{"id":{"description":"The endpoint id","example":"551de6ae-3d36-11e6-834a-3d1fcb19aada","type":"string"},"name":{"description":"The endpoint name","example":"Primary Fusion Server","type":"string"}},"required":["id","name"],"type":"object"},"type":"array"},"_dialcast-dialing-configurations.fallback-notification":{"properties":{"deviceGroupIds":{"description":"The ids of the device groups to use when sending the notification.","items":{"description":"The id of the device group","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"type":"array"},"deviceGroups":{"description":"The resolved device groups for deviceGroupIds. Read-only; populated on read so the UI can display the current selection. Includes at least id and name.","items":{"properties":{"id":{"description":"The id of the device group","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"name":{"description":"The name of the device group","example":"Building A Speakers","type":"string"}},"type":"object"},"readOnly":true,"type":"array"},"distributionListIds":{"description":"The ids of the distribution lists to use when sending the notification.","items":{"description":"The id of the distribution list","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"type":"array"},"distributionLists":{"description":"The resolved distribution lists for distributionListIds. Read-only; populated on read so the UI can display the current selection. Includes at least id and name.","items":{"properties":{"id":{"description":"The id of the distribution list","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"name":{"description":"The name of the distribution list","example":"All Staff","type":"string"}},"type":"object"},"readOnly":true,"type":"array"},"messageTemplate":{"description":"The resolved message template (id and name) for messageTemplateId. Read-only; populated on read so the UI can display the current selection.","properties":{"id":{"description":"The id of the message template","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"name":{"description":"The name of the message template","example":"Emergency Broadcast","type":"string"}},"readOnly":true,"type":"object"},"messageTemplateId":{"description":"The id of the message template to be used.","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"}},"type":"object"},"_dialcast-dialing-configurations.notification":{"properties":{"deviceGroupIds":{"description":"The ids of the device groups to use when sending the notification. Can't be used in conjunction with recipientNamePattern","items":{"description":"The id of the device group","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"type":"array"},"distributionListIds":{"description":"The ids of the distribution lists to use when sending the notification. Can't be used in conjunction with recipientNamePattern","items":{"description":"The id of the distribution list","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"type":"array"},"messageTemplateId":{"description":"The id of the message template to be used. Can't be used in conjunction with messageTemplateNamePattern","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","type":"string"},"messageTemplateNamePattern":{"description":"A template that, when used with the dialing pattern regular expression, produces the description of the message to use, e.g. 'Emergency Broadcast for Building $1'. Can't be used in conjunction with messageTemplateId.","example":"Emergency Broadcast for Building $1","type":"string"},"recipientNamePattern":{"description":"A template that, when used with the dialing pattern regular expression, produces the name of the recipient group to use, e.g. 'West Campus, Building $1'. Can't be used in conjunction with distributionListIds/deviceGroupIds.","example":"West Campus, Building $1","type":"string"}},"type":"object"},"_distribution-lists_clone":{"properties":{"campaign":{"description":"Campaign<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":{"defaultNotificationDays":5,"inactiveMessage":"The competition is over","subscribeTag":"#coffeetime","welcomeMessage":"Welcome to the World Barista Championship"},"properties":{"defaultNotificationDays":{"description":"This number of days will be suggested to users on its self-service registration page as a good number of days to subscribe; they can override it if they desire. An empty value means the subscription never expires.","example":5,"type":"integer"},"enrollmentEndDate":{"description":"This value can be specified to establish a date after which self-service registrations will no longer be accepted. An empty value means the campaign is open-ended and will accept registrations indefinitely.","example":"2026-08-01T00:00:00.000Z","format":"date-time","type":"string"},"inactiveMessage":{"description":"The text to display on the registration page after the enrollment end date to explain why registration is no longer available.","example":"The competition is over","maxLength":10000,"type":"string"},"subscribeTag":{"description":"Users will be able to join this campaign by sending this hashtag to: (608) 470-6356 (local; also valid internationally)","example":"#coffeetime","maxLength":30,"type":"string"},"url":{"description":"Campaign's enrollment url","example":"http://admin.icmobile.singlewire.com/anonymous/036347b0-41f1-11e5-ba5e-aa951d8d7a3b/list/59489180-41f1-11e5-aa08-aa951d8d7a3b","readOnly":true,"type":"string"},"welcomeMessage":{"description":"The text to display on its registration page to explain the purpose of the distribution list to members of the general public who would like to sign up to receive notifications.","example":"Welcome to the World Barista Championship","maxLength":10000,"type":"string"}},"type":"object"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this distribution list belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"Distribution List ID","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this distribution list is globally shared","example":true,"type":"boolean"},"isSubscribable":{"description":"Marks the distribution list as subscribable for self service","example":true,"type":"boolean"},"loadSourceId":{"description":"Load Definition Id for associating with a SIS loader","format":"uuid","type":"string"},"name":{"description":"Distribution List name","example":"Baristas (Copy)","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"syncId":{"description":"The current sync ID of the distribution list, which Fusion servers can use to verify their data is up to date.","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab:1613413676919","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_extension-endpoints-config":{"description":"Configuration object that is validated by the extension","properties":{"backupSchedule":{"description":"UNIX cron expression indicating backup snapshot frequency","type":"string"},"description":{"description":"Config description","type":"string"},"timeZone":{"description":"Endpoint timezone","type":"string"}},"required":[],"type":"object"},"_extension-endpoints.response":{"properties":{"buildInfo":{"$ref":"#/components/schemas/_extensions_endpoints.build-info","description":"Build information added post-deployment"},"config":{"description":"Configuration object that is validated by the extension","properties":{"idnFilter":{"properties":{"additions":{"description":"The specific IDN devices that are in the license filter regardless of filter rules","items":{"example":null,"type":"object"},"type":"array"},"exclusions":{"description":"The specific IDN devices that are excluded from the license filter regardless of filter rules","items":{"example":null,"type":"object"},"type":"array"},"filters":{"description":"Filter for devices of IDN type in device filter format. If unspecified, the license filter will include all devices.","items":{"$ref":"#/components/schemas/_device-groups.filters"},"type":"array"}},"type":"object"},"phoneFilter":{"properties":{"additions":{"description":"The specific phone devices that are in the license filter regardless of filter rules","items":{"example":null,"type":"object"},"type":"array"},"exclusions":{"description":"The specific phone devices that are in the license filter regardless of filter rules","items":{"example":null,"type":"object"},"type":"array"},"filters":{"description":"Filter for devices of phone type in device filter format. If unspecified, the license filter will include all devices.","items":{"$ref":"#/components/schemas/_device-groups.filters"},"type":"array"}},"type":"object"},"speakerFilter":{"properties":{"additions":{"description":"The specific speaker devices that are in the license filter regardless of filter rules","items":{"example":null,"type":"object"},"type":"array"},"exclusions":{"description":"The specific speaker devices that are in the license filter regardless of filter rules","items":{"example":null,"type":"object"},"type":"array"},"filters":{"description":"Filter for devices of speaker type in device filter format. If unspecified, the license filter will include all devices.","items":{"$ref":"#/components/schemas/_device-groups.filters"},"type":"array"}},"type":"object"}},"required":[],"type":"object"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"devices":{"description":"Device object that can store any arbitrary data","example":[{"deviceName":"myDevice"}],"format":"json","type":"string"},"hasMigratedSpeakers":{"description":"Indicates whether or not this endpoint has migrated to the new bulk speaker management feature.","type":"boolean"},"id":{"description":"ID of endpoint","format":"uuid","type":"string"},"name":{"description":"Name of endpoint","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"redReasons":{"description":"Current system health status red reasons","items":{"type":"string"},"type":"array","uniqueItems":true},"skipEndpointHealthAssessment":{"description":"If true, will skip our endpoint health assessment","type":"boolean"},"status":{"description":"Current system health status of the endpoint","enum":["GREEN","YELLOW","RED"],"type":"string"},"statusLastUpdated":{"description":"Time the status was last updated","format":"date-time","type":"string"},"updatedAt":{"description":"The last timestamp the endpoint was updated at","format":"date-time","type":"string"},"yellowReasons":{"description":"Current system health status yellow reasons","items":{"type":"string"},"type":"array","uniqueItems":true}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_extensions_endpoints.build-info":{"description":"Build information added to the Extension Endpoint post-deployment","properties":{"additionalFeatures":{"description":"Additional features that are supported","items":{"type":"string"},"type":"array"},"apiVersion":{"description":"A number representing the apiVersion","example":123,"type":"number"},"app":{"description":"The name of the application associated with this Extension Endpoint","example":"Fusion","type":"string"},"buildNumber":{"description":"A number identifying the buildset associated with this Extension Endpoint","example":"12345","type":"string"},"buildSet":{"description":"The name of the buildset associated with this Extension Endpoint","example":"alpha-1.2.3-release","type":"string"},"disabledFeatures":{"description":"Features that have been disabled","items":{"type":"string"},"type":"array"},"fqdn":{"description":"The fully-qualified-domain-name associated with this Extension Endpoint","example":"my-endpoint.organization.lan","type":"string"},"hostUuid":{"description":"UUID identifying this Extension Endpoint","format":"uuid","type":"string"},"ipAddresses":{"additionalProperties":{"type":"string"},"description":"Network interface name : IP Address mappings","example":{"eth0":"10.1.2.3"},"required":[],"type":"object"},"version":{"description":"The application version","example":"1.2.3","type":"string"}},"required":[],"type":"object"},"_failover-pairs-response":{"$ref":"#/components/schemas/_failover-pairs-response-merged"},"_failover-pairs-response-merged":{"properties":{"backupEndpoint":{"description":"The backup endpoint of the failover pair","properties":{"id":{"description":"The id of the endpoint","example":"cc920eae-c5f4-11ee-82a4-6b06df8a66c6","format":"uuid","type":"string"},"name":{"description":"The name of the endpoint","example":"Backup","type":"string"}},"type":"object"},"backupEndpointId":{"description":"The `id` of the endpoint that will be the backup","example":"cc920eae-c5f4-11ee-82a4-6b06df8a66c6","format":"uuid","type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"The `id` of this specific failover pair, allowing it to be manipulated or retrieved individually","format":"uuid","type":"string"},"name":{"description":"The name to give to new failover pair","example":"Example failover pair","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"primaryEndpoint":{"description":"The primary endpoint of the failover pair","properties":{"id":{"description":"The id of the endpoint","example":"ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae","format":"uuid","type":"string"},"name":{"description":"The name of the endpoint","example":"Headquarters","type":"string"}},"type":"object"},"primaryEndpointId":{"description":"The `id` of the endpoint that will be the primary endpoint","example":"ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae","format":"uuid","type":"string"},"timeout":{"description":"How long in seconds the backup endpoint should wait before becoming active after the primary endpoint disconnects. Defaults to 30 seconds.","example":30,"type":"integer"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["name","primaryEndpointId","backupEndpointId","timeout"],"type":"object"},"_gateways.building":{"properties":{"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_gateways.floor":{"properties":{"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_gateways.site":{"properties":{"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_gateways.zone":{"properties":{"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"isOutdoor":{"description":"Indicates whether the room/zone within a building is outdoor (e.g. courtyard)","type":"boolean"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_generic-multicast-streams-list-response":{"$ref":"#/components/schemas/_generic-multicast-streams-list-response-merged"},"_generic-multicast-streams-list-response-merged":{"properties":{"address":{"description":"Multicast address over which to send audio","example":"224.0.1.117","type":"string"},"conflicts":{"description":"Any conflicts that exist for the multicast address assigned to this stream\n","example":[],"items":{"type":"string"},"type":"array"},"id":{"description":"The `id` assigned to this Generic Multicast Stream","format":"uuid","type":"string"},"index":{"description":"The zero-based position of a GMS stream with respect to their total count, can be used for requesting paginated data from the Fusion server (see details [here](https://documentation.singlewire.com/InformaCastAPI/index.html#customize-pagination))","example":0,"type":"integer"},"name":{"description":"The name of the Generic Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put","delete"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"port":{"description":"Multicast port over which to send audio","example":5002,"type":"integer"},"type":{"description":"generic (always generic for generic Multicast Streams)","example":"generic","type":"string"}},"type":"object"},"_generic-multicast-streams-post-request":{"properties":{"address":{"description":"Multicast address over which to send audio (multicast range 224.0.0.0-239.255.255.255)","example":"224.0.1.117","type":"string"},"name":{"description":"The name of the Generic Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"port":{"description":"Multicast port over which to send audio (1-65535)","example":5002,"type":"integer"}},"required":["name","address","port"],"type":"object"},"_generic-multicast-streams-post-response":{"$ref":"#/components/schemas/_generic-multicast-streams-post-response-merged"},"_generic-multicast-streams-post-response-merged":{"properties":{"address":{"description":"Multicast address over which to send audio","example":"224.0.1.117","type":"string"},"conflicts":{"description":"Any conflicts that exist for the multicast address assigned to this stream\n","example":[],"items":{"type":"string"},"type":"array"},"id":{"description":"The `id` assigned to this Generic Multicast Stream","format":"uuid","type":"string"},"link":{"description":"The URL link to the GMS stream on the Fusion server","example":"https://172.20.146.37:8444/InformaCast/RESTServices/V1/Plugins/GenericMulticast/14971fea-b042-49f7-9332-246ecfde7268","type":"string"},"name":{"description":"The name of the Generic Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put","delete"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"port":{"description":"Multicast port over which to send audio","example":5002,"type":"integer"},"type":{"description":"generic (always generic for generic Multicast Streams)","example":"generic","type":"string"}},"type":"object"},"_generic-multicast-streams-put-request":{"properties":{"address":{"description":"Multicast address over which to send audio (multicast range 224.0.0.0-239.255.255.255)","example":"224.0.1.117","type":"string"},"name":{"description":"The name of the Generic Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"port":{"description":"Multicast port over which to send audio (1-65535)","example":5002,"type":"integer"}},"type":"object"},"_generic-multicast-streams-response":{"properties":{"address":{"description":"Multicast address over which to send audio","example":"224.0.1.117","type":"string"},"conflicts":{"description":"Any conflicts that exist for the multicast address assigned to this stream\n","example":[],"items":{"type":"string"},"type":"array"},"id":{"description":"The `id` assigned to this Generic Multicast Stream","format":"uuid","type":"string"},"name":{"description":"The name of the Generic Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put","delete"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"port":{"description":"Multicast port over which to send audio","example":5002,"type":"integer"},"type":{"description":"generic (always generic for generic Multicast Streams)","example":"generic","type":"string"}},"type":"object"},"_generic-multicast-streams.broadcast":{"properties":{"audioFile":{"description":"If this is a pre-recorded audio, the filename that is the audio source","example":"/web/WEB-INF/uploads/pfx6821225162089750812sfx","type":"string"},"audioFormat":{"description":"Description of audio source parameters","example":"ULAW 8000.0 Hz, 8 bit, mono, 1 bytes/frame, ","type":"string"},"interrupt":{"description":"Skip Phones in Use (false) or not (true)","example":true,"type":"boolean"},"isNonUrgent":{"description":"Synchronized (true) or As-Available (false)","example":true,"type":"boolean"},"messagePriority":{"description":"Numerical message priority setting","example":2,"type":"integer"},"messageVolume":{"description":"Volume setting (Low, Medium, Maximum, As-Is)","example":"As-Is","type":"string"},"postTone":{"description":"File name of Post-Tone Audio","example":null,"type":"string"},"preTone":{"description":"File name of Pre-Tone Audio","example":null,"type":"string"},"remoteAddress":{"description":"Network multicast address in use","example":"239.0.1.2","type":"string"},"remotePort":{"description":"Network multicast port in use","example":20482,"type":"integer"},"serialNumber":{"description":"A unique id to index this broadcast","example":2,"type":"integer"},"timeInitiated":{"description":"Time broadcast was started","example":"2022-11-08T23:09:09.049Z","format":"date-time","type":"string"}},"required":["serialNumber","isNonUrgent","messagePriority","messageVolume","interrupt","remoteAddress","remotePort","timeInitiated"],"type":"object"},"_idps.distribution-list":{"properties":{"id":{"description":"Distribution List ID","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_idps.security-group":{"properties":{"id":{"description":"Security Group ID","example":"92ba968d-a055-11ee-8ca7-759f162a262e","format":"uuid","type":"string"},"name":{"description":"A unique name for the Security Group.","example":"Body Guards","maximum":140,"minimum":1,"type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_incident-plans.base":{"$ref":"#/components/schemas/_incident-plans_base"},"_incident-plans.rostering":{"properties":{"locations":{"description":"The list of locations available to use during a Roll Call event","items":{"type":"string"},"type":"array"},"rosterManagerSiteRoleIds":{"description":"The `ids` of site roles that determine the Roll Call administrators for a Roll Call event","items":{"format":"uuid","type":"string"},"type":"array"},"rosterMemberSiteRoleIds":{"description":"The `ids` of of site roles that determine which users populate the Roll Call list for a Roll Call event","items":{"format":"uuid","type":"string"},"type":"array"},"statuses":{"description":"The list of statuses available to use during a Roll Call event","items":{"type":"string"},"type":"array"},"type":{"description":"A string representing the type of Roll Call service to be used, either `informacast` which indicates Roll Call or `visitor-aware` which indicates Visitor Aware Reunification.","type":"string"}},"type":"object"},"_incident-plans_base":{"properties":{"allowMultipleActiveIncidents":{"description":"Whether to allow multiple active incidents to be created in the same site/facility for this Incident Plan.","example":false,"type":"boolean"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"The optional description of the Incident Plan","example":"Network connections interrupted - Updates will follow","maximum":10000,"type":"string"},"facilityId":{"description":"The ID of the facility this incident plan belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"The ID of the Incident Plan","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this incident plan is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rostering":{"properties":{"incidentPlanRosteringId":{"description":"The `id` of the Incident Plan Roll Call configuration.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"locations":{"description":"The list of locations available to use during a Roll Call event","items":{"type":"string"},"type":"array"},"rosterManagerSiteRoleIds":{"description":"The `ids` of site roles that determine the Roll Call administrators for a Roll Call event","items":{"format":"uuid","type":"string"},"type":"array"},"rosterManagerSiteRoles":{"description":"The sites that have added this site role.","items":{"$ref":"#/components/schemas/site-roles.response"},"type":"array"},"rosterMemberSiteRoleIds":{"description":"The `ids` of of site roles that determine which users populate the Roll Call list for a Roll Call event","items":{"format":"uuid","type":"string"},"type":"array"},"rosterMemberSiteRoles":{"description":"The sites that have added this site role.","items":{"$ref":"#/components/schemas/site-roles.response"},"type":"array"},"statuses":{"description":"The list of statuses available to use during a Roll Call event","items":{"type":"string"},"type":"array"},"type":{"description":"A string representing the type of Roll Call service to be used, either `informacast` which indicates Roll Call or `visitor-aware` which indicates Visitor Aware Reunification.","type":"string"}},"type":"object"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"visitorAwareBaseUrl":{"description":"URL for base Visitor Aware domain. Only included if user has Visitor Aware license.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_incident-plans_post_response":{"properties":{"allowMultipleActiveIncidents":{"description":"Whether to allow multiple active incidents to be created in the same site/facility for this Incident Plan.","example":false,"type":"boolean"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"The optional description of the Incident Plan","example":"Network connections interrupted - Updates will follow","maximum":10000,"type":"string"},"facilityId":{"description":"The ID of the facility this incident plan belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"The ID of the Incident Plan","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this incident plan is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"visitorAwareBaseUrl":{"description":"URL for base Visitor Aware domain. Only included if user has Visitor Aware license.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_incidents.emergency-calling-status":{"properties":{"createdAt":{"description":"The createdAt value of the Incident Activity that reported this status.","example":"2023-10-30T22:00:24.447Z","format":"date-time","type":"string"},"details":{"description":"Any additional information that was supplied by the emergency services integration provider.","example":{"detail":"Flow Completed","timestamp":1698703211000},"type":"object"},"type":{"description":"One of `rapid-sos-initiated`, `rapid-sos-no-response`, `rapid-sos-confirmed`, `rapid-sos-declined`, `rapid-sos-contacting-monitoring`, `rapid-sos-cancelled`, or `rapid-sos-completed`","example":"rapid-sos-completed","type":"string"}},"type":"object"},"_incidents.incident-plan":{"properties":{"allowMultipleActiveIncidents":{"description":"Whether to allow multiple active incidents to be created in the same site/facility for this Incident Plan.","example":false,"type":"boolean"},"description":{"description":"The optional description of the Incident Plan","example":"Network connections interrupted - Updates will follow","maximum":10000,"type":"string"},"id":{"description":"The ID of the Incident Plan","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"},"visitorAwareBaseUrl":{"description":"URL for base Visitor Aware domain. Only included if user has Visitor Aware license.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_incidents.rostering":{"properties":{"locations":{"description":"List of locations that can be used in this Roll Call event","items":{"type":"string"},"type":"array"},"statuses":{"description":"List of statuses that can be used in this Roll Call event","items":{"type":"string"},"type":"array"},"type":{"description":"A string representing the type of Roll Call service to be used, either `informacast` which indicates Roll Call or `visitor-aware` which indicates Visitor Aware Reunification.","type":"string"},"visitorAwareBaseUrl":{"description":"URL for base Visitor Aware domain.","type":"string"},"visitorAwareError":{"description":"An error message received when trying to initiate a Visitor Aware Reunification Event.","type":"string"},"visitorAwareUrl":{"description":"A URL pointing at the Visitor Aware Reunification Event initiated by this incident.","type":"string"}},"type":"object"},"_incidents_activities.details":{"properties":{"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_installed-applications-application-merged":{"properties":{"applicationInfo":{"description":"The primary info describing the Application","example":{"configurationUrl":"https://smoke-co-safety.com/config","documentationUrl":"https://smoke-co-safety.com/user-guide","longDescription":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","privacyPolicyUrl":"https://smoke-co-safety.com/policy","shortDescription":"Triggers scenarios when smoke or CO is detected","supportEmail":"support@smoke-co-safety.com","supportUrl":"https://smoke-co-safety.com/support","termsOfUseUrl":"https://smoke-co-safety.com/terms-of-use"},"properties":{"configurationUrl":{"description":"The configuration url of the Application; required to publish","example":"https://smoke-co-safety.com/config","maxLength":1024,"type":"string"},"documentationUrl":{"description":"The documentation url of the Application; required to publish","example":"https://smoke-co-safety.com/user-guide","maxLength":1024,"type":"string"},"longDescription":{"description":"The long description of the Application","example":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","maxLength":2000,"type":"string"},"privacyPolicyUrl":{"description":"The privacy policy url of the Application; required to publish","example":"https://smoke-co-safety.com/policy","maxLength":1024,"type":"string"},"shortDescription":{"description":"The short description of the Application","example":"Triggers scenarios when smoke or CO is detected","maxLength":150,"type":"string"},"supportEmail":{"description":"The support email of the Application; required to publish","example":"support@smoke-co-safety.com","maxLength":1024,"type":"string"},"supportUrl":{"description":"The support url of the Application; required to publish","example":"https://smoke-co-safety.com/support","maxLength":1024,"type":"string"},"termsOfUseUrl":{"description":"The terms of use url of the Application; required to publish","example":"https://smoke-co-safety.com/terms-of-use","maxLength":1024,"type":"string"}},"type":"object"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"displayName":{"description":"The display name of the Application","example":"Smoke and CO Monitoring","maximum":140,"type":"string"},"forMarketplace":{"description":"Whether the Application is meant to be published on the marketplace","example":true,"type":"boolean"},"heroImageId":{"description":"The screenshot, if any, to feature most prominently on the marketplace","example":"3ff898d4-1914-11ef-9d20-57fab6ce7cd6","format":"uuid","type":"string"},"icon":{"description":"The icon file for the Application","properties":{"contentType":{"description":"The MIME type of the image data","example":"image/png","type":"string"},"fileName":{"description":"The name with which the file was uploaded","example":"icon.png","type":"string"},"metadata":{"description":"Other information about the image, provided by the codec implemenatation","example":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":4},"compression":{"compressionTypeName":"deflate","lossless":true,"numProgressiveScans":1},"data":{"bitsPerSample":"8 8 8 8","planarConfiguration":"PixelInterleaved","sampleFormat":"Index"},"dimension":{"imageOrientation":"Normal","pixelAspectRatio":1},"height":512,"transparency":{"alpha":"nonpremultipled"},"width":512},"type":"object"},"size":{"description":"The size, in bytes, of the image data","example":12983,"type":"integer"}},"type":"object"},"id":{"description":"The ID of the Application","example":"09d7154e-f904-11ee-a7c4-2720dbaf6d93","format":"uuid","type":"string"},"name":{"description":"The name of the Application","example":"Smoke and CO Monitoring","maximum":50,"type":"string"},"parentApplicationId":{"description":"The application, if any, that this is a draft of a new version of","format":"uuid","type":"string"},"primaryContact":{"description":"The primary contact for the Application; reserved for future use","example":{"email":"john.smith@smoke-co-safety.com","name":"John Smith","phoneNumber":"(555) 123-4567"},"properties":{"email":{"description":"The primary contact email for the Application","example":"john.smith@smoke-co-safety.com","maxLength":255,"type":"string"},"name":{"description":"The primary contact name for the Application","example":"John Smith","maxLength":140,"type":"string"},"phoneNumber":{"description":"The primary contact phone number for the Application","example":"(555) 123-4567","maxLength":64,"type":"string"}},"type":"object"},"publisherInfo":{"description":"The publisher info for the Application","example":{"companyName":"Smoke and CO Safety"},"properties":{"companyName":{"description":"The publisher's company name of the Application; required to publish","example":"Smoke and CO Safety","maxLength":255,"type":"string"}},"type":"object"},"scopes":{"description":"The scopes of the Application. Available scopes: `urn:singlewire:alarms:read`, `urn:singlewire:areas-of-interest:read`, `urn:singlewire:areas-of-interest:write`, `urn:singlewire:bell-schedules:read`, `urn:singlewire:bell-schedules:write`, `urn:singlewire:collaboration-groups:read`, `urn:singlewire:collaboration-groups:write`, `urn:singlewire:confirmation-requests:read`, `urn:singlewire:confirmation-requests:write`, `urn:singlewire:distribution-lists:read`, `urn:singlewire:distribution-lists:write`, `urn:singlewire:incident-plans:read`, `urn:singlewire:incident-plans:write`, `urn:singlewire:message-templates:read`, `urn:singlewire:message-templates:write`, `urn:singlewire:notification-profiles:read`, `urn:singlewire:notification-profiles:write`, `urn:singlewire:notifications:read`, `urn:singlewire:notifications:write`, `urn:singlewire:reports:read`, `urn:singlewire:ring-lists:read`, `urn:singlewire:ring-lists:write`, `urn:singlewire:scenario-notifications:write`, `urn:singlewire:scenarios:read`, `urn:singlewire:scenarios:write`, `urn:singlewire:session:read`, `urn:singlewire:session:write`, `urn:singlewire:site-roles:read`, `urn:singlewire:site-roles:write`, `urn:singlewire:sites:read`, `urn:singlewire:sites:write`, `urn:singlewire:tracking-events:read`, `urn:singlewire:users:read`, `urn:singlewire:users:write`","example":["urn:singlewire:message-templates:read","urn:singlewire:session:read"],"items":{"type":"string"},"maximum":64,"minimum":1,"type":"array","uniqueItems":true},"type":{"description":"The type of the Application: `GENERIC_CLIENT` and `NATIVE_CLIENT` Applications are intended for use by end users; `SERVER` Applications are intended for integration with other systems","enum":["GENERIC_CLIENT","NATIVE_CLIENT","SERVER"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"version":{"description":"The version of the Application","example":"0.0.1","maximum":12,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_installed-applications.application":{"$ref":"#/components/schemas/_installed-applications-application-merged"},"_ip-speaker-jobs.result":{"properties":{"123456789abc":{"description":"The results for the speaker with MAC address `123456789abc`, actual keys will vary","properties":{"errorCode":{"description":"The error code for the speaker","enum":["NETWORK_REQUEST_FAILED","SPEAKER_NOT_FOUND_OR_NOT_CONFIGURED","SPEAKER_NOT_SIP_INTERCOM_ENABLED"],"type":"string"},"errorMessage":{"description":"The error message for the speaker","example":"Status 500","type":"string"},"id":{"description":"The id of the speaker","example":"151de6ae-3d36-11e6-834a-3d1fcb19aada","type":"string"}},"required":["errorCode"],"type":"object"}},"type":"object"},"_ip-speaker-sip-parameters.endpoint":{"properties":{"id":{"description":"The id of the endpoint","example":"5a1491a1-7371-11ee-aed1-7942d192a20f","format":"uuid","type":"string"},"name":{"description":"The name of the endpoint","example":"Primary Server","type":"string"}},"type":"object"},"_ip-speakers.registration-data":{"properties":{"activationGroupId":{"description":"The activation group id","example":"5a1491a1-7371-11ee-aed1-7942d192a20f","type":"string"},"canListen":{"description":"Whether the speaker can listen","type":"boolean"},"canPlayHQAudio":{"description":"Whether the speaker can play HQ Audio","type":"boolean"},"canSendHQAudio":{"description":"Whether the speaker can send HQ Audio","type":"boolean"},"deviceString":{"description":"An internal representation of the device","type":"string"},"endpoint":{"properties":{"id":{"description":"The id of the endpoint","example":"5a1491a1-7371-11ee-aed1-7942d192a20f","format":"uuid","type":"string"},"name":{"description":"The name of the endpoint","example":"Primary Server","type":"string"}},"type":"object"},"endpointId":{"description":"The endpoint id","example":"5a1491a1-7371-11ee-aed1-7942d192a20f","type":"string"},"hasDisplay":{"description":"Whether the speaker has a display","type":"boolean"},"ipAddress":{"description":"The IPv4 address of the speaker","example":"127.0.0.1","type":"string"},"isConfigured":{"description":"Whether the speaker is configured","type":"boolean"},"isDesktopNotifier":{"description":"Whether the speaker is an IDN","type":"boolean"},"isLicensed":{"description":"Whether the speaker is licensed","type":"boolean"},"isRecordingSource":{"description":"Whether the speaker is able to record audio","type":"boolean"},"isRegistered":{"description":"Whether the speaker is registered","type":"boolean"},"isRegisteredSip":{"description":"Whether the speaker is registered with SIP","type":"boolean"},"name":{"description":"The name of the device","type":"string"},"reportedIPv4Address":{"description":"The IPv4 address of the speaker","example":"127.0.0.1","type":"string"},"speakerTag":{"description":"A unique identifier which represents the speaker model and its unique attributes","example":"SP-ModelName-CapabilityLabel","type":"string"},"statusUrl":{"description":"The status url for the speaker","example":"http://127.0.0.1/status","type":"string"}},"type":"object"},"_license-acceptances.historical-user":{"properties":{"id":{"description":"The id of the user accepting the license","example":"5a1491a1-7371-11ee-aed1-7942d192a20f","format":"uuid","type":"string"},"name":{"description":"The name of the user accepting the license","example":"John Doe","type":"string"}},"type":"object"},"_load-definitions.sis-include-user-types":{"properties":{"parentsGuardians":{"description":"Whether to import parents/guardians","type":"boolean"},"staff":{"description":"Whether to import staff","type":"boolean"},"students":{"description":"Whether to import students","example":true,"type":"boolean"},"teachers":{"description":"Whether to import teachers","type":"boolean"}},"type":"object"},"_load-definitions_distribution-list-mappings.distribution-list":{"properties":{"campaign":{"description":"Campaign<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":{"defaultNotificationDays":5,"inactiveMessage":"The competition is over","subscribeTag":"#coffeetime","welcomeMessage":"Welcome to the World Barista Championship"},"properties":{"defaultNotificationDays":{"description":"This number of days will be suggested to users on its self-service registration page as a good number of days to subscribe; they can override it if they desire. An empty value means the subscription never expires.","example":5,"type":"integer"},"enrollmentEndDate":{"description":"This value can be specified to establish a date after which self-service registrations will no longer be accepted. An empty value means the campaign is open-ended and will accept registrations indefinitely.","example":"2026-08-01T00:00:00.000Z","format":"date-time","type":"string"},"inactiveMessage":{"description":"The text to display on the registration page after the enrollment end date to explain why registration is no longer available.","example":"The competition is over","maxLength":10000,"type":"string"},"subscribeTag":{"description":"Users will be able to join this campaign by sending this hashtag to: (608) 470-6356 (local; also valid internationally)","example":"#coffeetime","maxLength":30,"type":"string"},"url":{"description":"Campaign's enrollment url","example":"http://admin.icmobile.singlewire.com/anonymous/036347b0-41f1-11e5-ba5e-aa951d8d7a3b/list/59489180-41f1-11e5-aa08-aa951d8d7a3b","readOnly":true,"type":"string"},"welcomeMessage":{"description":"The text to display on its registration page to explain the purpose of the distribution list to members of the general public who would like to sign up to receive notifications.","example":"Welcome to the World Barista Championship","maxLength":10000,"type":"string"}},"type":"object"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this distribution list belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"Distribution List ID","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this distribution list is globally shared","example":true,"type":"boolean"},"isSubscribable":{"description":"Marks the distribution list as subscribable for self service","example":true,"type":"boolean"},"loadDefinitionId":{"description":"The `id` of the load definition to which this distribution list mapping belongs","format":"uuid","type":"string"},"loadSourceId":{"description":"Load Definition Id for associating with a SIS loader","format":"uuid","type":"string"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"},"syncId":{"description":"The current sync ID of the distribution list, which Fusion servers can use to verify their data is up to date.","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab:1613413676919","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_load-definitions_load-requests.base":{"$ref":"#/components/schemas/_load-definitions_load-requests_base"},"_load-definitions_load-requests_base":{"properties":{"containsLogs":{"description":"A flag that indicates whether the load request has associated logs","example":true,"type":"boolean"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"createdUsers":{"description":"A read-only count of the users created by this specific load request","example":1,"type":"integer"},"deletedUsers":{"description":"A read-only count of the users deleted by this specific load request","example":3,"type":"integer"},"id":{"description":"The `id` of this specific load request, allowing it to be retrieved individually","format":"uuid","type":"string"},"loadDefinitionId":{"description":"The `id` of the load definition that was used to create this load request","format":"uuid","type":"string"},"loadState":{"description":"Status of the load request","enum":["queued","running","errored","finished"],"example":"finished","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"tagsSeen":{"description":"Tags seen in this load request","example":["admin","student"],"items":{"type":"string"},"type":"array","uniqueItems":true},"unmappedTags":{"description":"Tags seen but unable to be processed as no tag mapping exists","example":["student"],"items":{"type":"string"},"type":"array","uniqueItems":true},"userUpdates":{"description":"A read-only count of the user updates made by this specific load request","example":2,"type":"integer"}},"required":["permissions","createdAt","id"],"type":"object"},"_load-definitions_security-group-mappings.security-group":{"properties":{"id":{"description":"Security Group ID","example":"92ba968d-a055-11ee-8ca7-759f162a262e","format":"uuid","type":"string"},"name":{"description":"A unique name for the Security Group.","example":"Body Guards","maximum":140,"minimum":1,"type":"string"},"superGroup":{"description":"Whether this group should have all possible permissions","example":false,"type":"boolean"}},"required":["permissions","createdAt","id"],"type":"object"},"_message-templates.areas-of-interest":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"geometryType":{"description":"A circular region defined by center point given in latitude and longitude and a radius given in meters.","enum":["circle"],"example":"circle","type":"string"},"geometryValue":{"description":"The geometry details. If present, this value determines the location, shape, and size of the area of interest.","example":{"geometry":{"coordinates":[-89.34,43.14],"type":"Point"},"properties":{"radiusInM":1000},"type":"Feature"},"properties":{"geometry":{"description":"The geometry of the geojson object","properties":{"coordinates":{"description":"The coordinates of the feature, as a longitude/latitude pair","example":[-89.34,43.14],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature","example":"Point","maxLength":10000,"type":"string"}},"type":"object"},"properties":{"description":"The properties of the geojson feature","properties":{"radiusInM":{"description":"For circular features, the radius of the circle in meters","example":1000,"type":"integer"}},"type":"object"},"type":{"description":"The type of geojson","example":"Feature","maxLength":10000,"type":"string"}},"type":"object"},"id":{"description":"TimeUUID identifier of area of interest","example":"8145ebd1-7a8b-11ee-bc97-098b09a637c2","format":"uuid","type":"string"},"name":{"description":"The area’s display name","example":"Guac Delivery Range","maximum":140,"type":"string"},"syncedDeviceTypes":{"description":"The device types synced with the AOI, i.e. included in its count. Note: Submitting syncedDeviceTypes=[mobile, desktop] is equivalent to omitting the parameter.","example":["mobile","desktop"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["permissions","createdAt","name","id"],"type":"object"},"_message-templates.audio-files":{"description":"Describes the audio attached to the notification, if any","items":{"properties":{"contentType":{"description":"The MIME type of the audio data","example":"audio/wav","type":"string"},"fileName":{"description":"The name with which the file was uploaded","example":"announcement.wav","type":"string"},"metadata":{"description":"Other information about the audio, provided by the codec implemenatation","example":{"bitRate":64000,"bitsPerSample":8,"channels":1,"codecLongName":"PCM mu-law / G.711 mu-law","codecName":"pcm_mulaw","codecTimeBase":"1/8000","encoding":"ulaw","frameLength":37738,"frameRate":8000,"sampleFmt":"s16","seconds":4.7172,"timeBase":"1/8000"},"type":"object"},"size":{"description":"The size, in bytes, of the audio data","example":37830,"type":"integer"}},"type":"object"},"type":"array"},"_message-templates.collaboration-groups":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"User Subscription `id`","format":"uuid","type":"string"},"name":{"description":"The name to give the new collaboration group. May be up to 140 characters long.","example":"Star Command","type":"string"},"type":{"description":"The type of the collaboration group","enum":["conference-call","cisco-spark","outbound-cap","outbound-rss","msteams-channel"],"example":"outbound-rss","type":"string"}},"type":"object"},"_message-templates.device-groups":{"properties":{"additionIds":{"description":"The specific device icop_ids that are in the Group regardless of filters and other Device Groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"additions":{"description":"The specific devices that are in the group regardless of filters and other device groups.","items":{"$ref":"#/components/schemas/devices.response"},"type":"array"},"baseDeviceGroupIds":{"description":"If present, contains a list of Device Group ids that form the starting Devices for this Device Group.","example":["9fb8c937-fd05-11e6-a30e-e198ed79b70a"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"baseDeviceGroups":{"description":"If present, contains the list of Device Group `id`s that form the starting Devices for this Device Group.","example":[],"items":{"$ref":"#/components/schemas/_device-groups-response"},"type":"array"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"exclusionIds":{"description":"The specific device icop_ids that are excluded from this device group regardless of filters and other device groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusions":{"description":"The specific devices that are excluded from this device group regardless of filters and other device groups.","items":{"$ref":"#/components/schemas/devices.response"},"type":"array"},"facilityId":{"description":"Facility ID associated with the device group.","format":"uuid","type":"string"},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Device Group are combined.  If this device group is also configured with baseDeviceGroupIds, the filters will further adjust the devices in the group.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"REJECT","type":"string"},"filters":{"$ref":"#/components/schemas/_device-groups.filters","description":"Defines rules to dynamically determine the Devices in this Device Group, combined as specified by filterType. If this Device Group is also filtered with baseDeviceGroupIds, these filters will further adjust the devices in the group."},"id":{"description":"The `id` of this specific device group, allowing it to be manipulated or retrieved individually.","example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this device group is globally shared","example":true,"type":"boolean"},"logicalExpression":{"description":"Specify a combination of rules based on the index of the rule and using logical operators 'and' and 'or' along with parentheses. Used when filterType is 'LOGICAL_EXPRESSION","example":"(1 AND 2)","maximum":10000,"type":"string"},"name":{"description":"Name of device group","example":"All Staff Phones","maximum":140,"type":"string"},"numIdns":{"description":"Number of matching IDNs. Included if query contains the include-device-counts set to true.","example":100,"type":"number"},"numPhones":{"description":"Number of matching phones. Included if query contains the include-device-counts set to true.","example":250,"type":"number"},"numPlugins":{"description":"Number of matching plugins. Included if query contains the include-device-counts set to true.","example":2,"type":"number"},"numSpeakers":{"description":"Number of matching speakers. Included if query contains the include-device-counts set to true.","example":14,"type":"number"},"updatedAt":{"description":"When this resource was updated","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"}},"required":["name"],"type":"object"},"_message-templates.distribution-lists":{"properties":{"campaign":{"description":"Campaign<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":{"defaultNotificationDays":5,"inactiveMessage":"The competition is over","subscribeTag":"#coffeetime","welcomeMessage":"Welcome to the World Barista Championship"},"properties":{"defaultNotificationDays":{"description":"This number of days will be suggested to users on its self-service registration page as a good number of days to subscribe; they can override it if they desire. An empty value means the subscription never expires.","example":5,"type":"integer"},"enrollmentEndDate":{"description":"This value can be specified to establish a date after which self-service registrations will no longer be accepted. An empty value means the campaign is open-ended and will accept registrations indefinitely.","example":"2026-08-01T00:00:00.000Z","format":"date-time","type":"string"},"inactiveMessage":{"description":"The text to display on the registration page after the enrollment end date to explain why registration is no longer available.","example":"The competition is over","maxLength":10000,"type":"string"},"subscribeTag":{"description":"Users will be able to join this campaign by sending this hashtag to: (608) 470-6356 (local; also valid internationally)","example":"#coffeetime","maxLength":30,"type":"string"},"url":{"description":"Campaign's enrollment url","example":"http://admin.icmobile.singlewire.com/anonymous/036347b0-41f1-11e5-ba5e-aa951d8d7a3b/list/59489180-41f1-11e5-aa08-aa951d8d7a3b","readOnly":true,"type":"string"},"welcomeMessage":{"description":"The text to display on its registration page to explain the purpose of the distribution list to members of the general public who would like to sign up to receive notifications.","example":"Welcome to the World Barista Championship","maxLength":10000,"type":"string"}},"type":"object"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this distribution list belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"Distribution List ID","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this distribution list is globally shared","example":true,"type":"boolean"},"isSubscribable":{"description":"Marks the distribution list as subscribable for self service","example":true,"type":"boolean"},"loadSourceId":{"description":"Load Definition Id for associating with a SIS loader","format":"uuid","type":"string"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"},"syncId":{"description":"The current sync ID of the distribution list, which Fusion servers can use to verify their data is up to date.","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab:1613413676919","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_message-templates.image-files":{"description":"Describes the images attached to the notification, if any","items":{"properties":{"contentType":{"description":"The MIME type of the image data","example":"image/png","type":"string"},"fileName":{"description":"The name with which the file was uploaded","example":"announcement.png","type":"string"},"metadata":{"description":"Other information about the image, provided by the codec implemenatation","example":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":4},"compression":{"compressionTypeName":"deflate","lossless":true,"numProgressiveScans":1},"data":{"bitsPerSample":"8 8 8 8","planarConfiguration":"PixelInterleaved","sampleFormat":"Index"},"dimension":{"imageOrientation":"Normal","pixelAspectRatio":1},"height":501,"transparency":{"alpha":"nonpremultipled"},"width":1043},"type":"object"},"size":{"description":"The size, in bytes, of the image data","example":11472,"type":"integer"}},"type":"object"},"type":"array"},"_message-templates.incident-plan":{"properties":{"id":{"description":"The ID of the Incident Plan","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_message-templates.merged-response":{"properties":{"alertTone":{"description":"Controls the sound played by a mobile phone or other compatible InformaCast Fusion Devices (i.e. desktops) when this message template is sent; `default` means to play the standard alert tone chosen by the device’s owner, `silent` means to play no tone, and other values choose specific named sounds","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"alertToneCustomizable":{"description":"Whether `alertTone` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"alertToneDisplay":{"deprecated":true,"description":"Deprecated (controlled by audio-display): Suggestion to client application whether or not to show the alert tone when sending the notification","enum":["show","hide"],"type":"string"},"areaOfInterestIds":{"description":"The `id`s of the Areas of Interest to which notifications based on this template should be sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areaOfInterestIdsCustomizable":{"description":"Whether `areaOfInterestIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIdsDisplay":{"description":"Informs client applications whether the area of interest section should be displayed to senders when composing a notification based on this template, defaults to `show` when `areaOfInterestIds` are supplied","enum":["show","hide"],"example":"show","type":"string"},"areasOfInterest":{"description":"The areas of interest which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.areas-of-interest"},"type":"array"},"audio":{"description":"Length of the attached audio, in bytes, or zero if there is none","example":37830,"type":"integer"},"audioCustomizable":{"description":"Whether `audio` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"audioDisplay":{"description":"Informs client applications whether the audio section should be displayed to senders when composing a notification based on this template, defaults to `show` when audio is present","enum":["show","hide"],"type":"string"},"audioFiles":{"$ref":"#/components/schemas/_message-templates.audio-files","description":"Lists information about the default audio files attached to the message template. Currently there will only be one, but future releases may support multiple audio streams with different purposes or quality"},"body":{"description":"Default optional detailed body text, may be up to 10,000 characters long","example":"Please stay alert for updates as we track the intruder.","maximum":10000,"type":"string"},"bodyCustomizable":{"description":"Whether the body can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"bodyDisplay":{"deprecated":true,"description":"Deprecated (body will always be displayed): Suggestion to client application whether or not to show the body when sending the notification","enum":["show","hide"],"type":"string"},"cancelNotificationsType":{"description":"When a notification sent with this message template, determines what other notifications should be canceled: `none`, `all`, or `specific` (based on the message templates used for those other notifications)","enum":["all","none","specific"],"example":"none","type":"string"},"cancelNotificationsTypeDisplay":{"description":"Informs client applications whether the cancellation section should be displayed to senders when composing a notification based on this template","enum":["hide","show"],"type":"string"},"collaborationGroupIds":{"description":"The `id`s of Collaboration Groups which should, by default, receive notifications based on this template<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIdsCustomizable":{"description":"Whether `collaborationGroupIds` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"collaborationGroupIdsDisplay":{"description":"Informs client applications whether the collaboration groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `collaborationGroupIds` are supplied<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"collaborationGroups":{"description":"The outbound systems which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.collaboration-groups"},"type":"array"},"confirmationRequestId":{"description":"The `id` of the attached Confirmation Request (this is what is actually stored; the expanded details about the Confirmation Request are returned as a convenience, to save clients from having to issue a separate request to look them up)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"confirmationRequestIdCustomizable":{"description":"Whether `confirmationRequestId` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"confirmationRequestIdDisplay":{"description":"Informs client applications whether the confirmation request section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["show","hide"],"type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"deviceGroupIds":{"description":"The `id`s of Device Groups which should, by default, receive notifications based on this template","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIdsCustomizable":{"description":"Whether `deviceGroupIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"deviceGroupIdsDisplay":{"description":"Informs client applications whether the device groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `deviceGroupIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"deviceGroups":{"description":"The device groups which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.device-groups"},"type":"array"},"distributionListIds":{"description":"A list of `id`s of Distribution Lists which should, by default, receive notifications based on this template","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIdsCustomizable":{"description":"Whether `distributionListIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"distributionListIdsDisplay":{"description":"Informs client applications whether the distribution lists section should be displayed to senders when composing a notification based on this template, defaults to `show` when `distributionListIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"distributionLists":{"description":"The distribution lists which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.distribution-lists"},"type":"array"},"expiration":{"description":"The time in seconds the notification should expire from the time it is sent (a `null` value indicates the notification does not expire)","example":null,"type":"integer"},"expirationCustomizable":{"description":"Whether `expiration` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"expirationDisplay":{"description":"Informs client applications whether the expiration section should be displayed to senders when composing a notification based on this template, defaults to `show` when expiration is present","enum":["hide","show"],"type":"string"},"facilityId":{"description":"The ID of the facility this message template belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"followUp":{"description":"Denotes whether this template is usable for a follow-up: if set to `true`, this template can be used as the `messageTemplateId` when sending a new notification based on an existing notification in the notification history. If set to `false`, attempting to use this template in the same manner will result in an error. Message templates that support a follow-up are subject to different validation rules (i.e. all recipient fields can be set non-customizable in addition to specifying no recipients when saving the template)","type":"boolean"},"id":{"description":"ID of the message template","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"image":{"description":"Length of the attached image, in bytes, or zero if there is none","example":11472,"type":"integer"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageCustomizable":{"description":"Whether `image` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"imageDisplay":{"description":"Informs client applications whether the image section should be displayed to senders when composing a notification based on this template, defaults to `show` when image is present","enum":["show","hide"],"type":"string"},"imageFiles":{"$ref":"#/components/schemas/_message-templates.image-files","description":"Lists information about the default image files attached to the message template. Currently there will only be one, but future releases may support multiple audio streams with different purposes or quality"},"imageMimeType":{"description":"The content type of the default image attached to the message template, if there is one (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/gif","image/jpg"],"type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_message-templates.incident-plan"},"incidentPlanId":{"description":"Specifies the Incident Plan to use for the incident created from this message template, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"incidentPlanIdCustomizable":{"description":"Whether `incidentPlanId`can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":true,"type":"boolean"},"incidentPlanIdDisplay":{"description":"Informs client applications whether the incident plan section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"inferredMessageType":{"description":"The inferred type of the fusion message associated with this template","example":"Text and Pre-Recorded Audio","type":"string"},"isShared":{"description":"Denotes whether or not this message template is globally shared","example":true,"type":"boolean"},"messageTemplateCancellationIds":{"description":"A list of `id`s of Message Templates: Notifications sent by these message templates will be canceled by any sends of the current message template","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"name":{"description":"Name of the message template, up to 140 characters long","example":"Intruder Alert","maximum":140,"type":"string"},"notificationProfileId":{"description":"The `id` of the Notification Profile used to configure the notification; omitting this value will default it to the default Notification Profile","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.<br>_Specifying value ':critical' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["critical","normal"],"example":"critical","type":"string"},"subject":{"description":"Default subject for notifications based on the message template, up to 255 characters long","example":"An intruder has been spotted!","maximum":255,"type":"string"},"subjectCustomizable":{"description":"Whether the subject can be customized when sending notifications (defaults to `false`)","type":"boolean"},"subjectDisplay":{"deprecated":true,"description":"Deprecated (subject will always be displayed): Suggestion to client application whether or not the subject is shown when sending the notification","enum":["hide","show"],"example":"show","type":"string"},"syncId":{"description":"An ID used to identify this resource when synced to on-premise servers","format":"uuid","type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsCustomContentCustomizable":{"description":"Whether ttsCustomContent` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"ttsCustomContentDisplay":{"deprecated":true,"description":"Deprecated (controlled by audio-display): Suggestion to client application whether or not to show the custom-tts field when sending the notification","enum":["show","hide"],"type":"string"},"ttsSpeed":{"description":"The rate at which the text will be spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes are transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"example":"subject-and-body","type":"string"},"ttsVoiceId":{"description":"Specifies the Text-to-Speech Voice to be used when synthesizing audio for this message template","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"ttsVoiceIdCustomizable":{"description":"Whether `ttsVoiceId` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"ttsVoiceIdDisplay":{"deprecated":true,"description":"Deprecated (controlled by audio-display): Suggestion to client application whether or not to show the voice-name field when sending the notification","enum":["show","hide"],"type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"},"userIds":{"description":"The ids of individual Users who should, by default, receive notifications based on this template, regardless of their distribution list memberships.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"userIdsCustomizable":{"description":"Whether `userIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"userIdsDisplay":{"description":"Informs client applications whether the individual user section should be displayed to senders when composing a notification based on this template, defaults to `show` when `userIds` are supplied","enum":["show","hide"],"example":"show","type":"string"},"users":{"description":"The users which should, by default, receive notifications based on this template independent of their membership in any other group","items":{"$ref":"#/components/schemas/_message-templates.users"},"type":"array"},"voice":{"$ref":"#/components/schemas/_message-templates.voice"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_message-templates.response":{"$ref":"#/components/schemas/_message-templates.merged-response"},"_message-templates.users":{"properties":{"application":{"description":"Used only with users whose type is `application`; specifies the type of application","enum":["cloud-user-loader","mobile-plugin","desktop-registration","user-loader","custom","visitor-aware"],"example":null,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceState":{"description":"When present, limits results to users having a disabled device or enabled","enum":["enabled","disabled"],"type":"string"},"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"endpointId":{"description":"ID of the Fusion server the user belongs to, if any","example":"f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1","format":"uuid","type":"string"},"fromCloudUserLoader":{"description":"Whether the user’s source is the cloud user loader and is associated with a SCIM user","example":false,"type":"boolean"},"fromRegularUserLoader":{"description":"Whether the user’s source is a user loader, cloud or otherwise","example":false,"type":"boolean"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"idleTimeout":{"description":"The user’s idle timeout override (between 5 and 720 minutes). `null` sets the user to the system default","example":5,"type":"integer"},"includeApplications":{"description":"The types of applications to include. Used only with users whose type is `application`; specifies the type of application","example":["mobile-plugin"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeLoadSourceIds":{"description":"The load-source-ids to include.","example":["8534a3b4-eba3-11ee-b4d4-eb39fb720087"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeTypes":{"description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"isLicensed":{"description":"Whether the user is licensed to use the system; this value is changed exclusively by membership in SCIM groups","example":true,"type":"boolean"},"isLocked":{"description":"The user lock resource. If true, the user is in a locked state (not allowed to access the system)","example":false,"type":"boolean"},"licenseState":{"description":"Types of licensed state to include","enum":["licensed","not-licensed","excluded"],"example":"licensed","type":"string"},"loadSourceId":{"description":"Reflects how the user was created. Contains a Load Definition `id`, if the user came from a batch load; omitted if the user was created individually","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"passwordResetRequired":{"description":"Whether the user will be forced to set a new password on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"preferredLanguage":{"description":"The user's preferred language. Managed using the user profile endpoint.","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"providerIdp":{"$ref":"#/components/schemas/_users.provider-idp","description":"The identity provider used by this user"},"providerIdpId":{"description":"The ID of the identity provider used for authenticating the user. When used for filtering users, the result will only include users whose providerIdpId matches the specified IDP id","format":"uuid","type":"string"},"selfRegistered":{"description":"Whether user has self-registered","example":true,"type":"boolean"},"source":{"description":"A value representing how the user was added to InformaCast","enum":["manual","self-registered","cloud-user-loader","user-loader","sis-loader"],"example":"manual","type":"string"},"tfaRemovalRequested":{"description":"Whether the user’s two factor authentication will be removed on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_message-templates.voice":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"engine":{"description":"The synthesis engine used to produce audio.","enum":["standard"],"example":"standard","type":"string"},"gender":{"description":"The gender of the voice","example":"Female","maximum":10000,"type":"string"},"id":{"description":"ID of the voice.","example":"751de142-841a-11ea-a32f-17f989f7588d","format":"uuid","type":"string"},"language":{"description":"The language code for the voice","example":"en-US","maximum":10000,"type":"string"},"name":{"description":"The name of the voice","example":"Joanna","maximum":10000,"type":"string"},"synthesisProvider":{"description":"The synthesis engine used to produce audio.","example":"Amazon Polly","maximum":10000,"type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_message_templates_clone":{"properties":{"alertTone":{"description":"Controls the sound played by a mobile phone or other compatible InformaCast Fusion Devices (i.e. desktops) when this message template is sent; `default` means to play the standard alert tone chosen by the device’s owner, `silent` means to play no tone, and other values choose specific named sounds","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"alertToneCustomizable":{"description":"Whether `alertTone` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"alertToneDisplay":{"deprecated":true,"description":"Deprecated (controlled by audio-display): Suggestion to client application whether or not to show the alert tone when sending the notification","enum":["show","hide"],"type":"string"},"areaOfInterestIds":{"description":"The `id`s of the Areas of Interest to which notifications based on this template should be sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areaOfInterestIdsCustomizable":{"description":"Whether `areaOfInterestIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIdsDisplay":{"description":"Informs client applications whether the area of interest section should be displayed to senders when composing a notification based on this template, defaults to `show` when `areaOfInterestIds` are supplied","enum":["show","hide"],"example":"show","type":"string"},"areasOfInterest":{"description":"The areas of interest which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.areas-of-interest"},"type":"array"},"audio":{"description":"Length of the attached audio, in bytes, or zero if there is none","example":37830,"type":"integer"},"audioCustomizable":{"description":"Whether `audio` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"audioDisplay":{"description":"Informs client applications whether the audio section should be displayed to senders when composing a notification based on this template, defaults to `show` when audio is present","enum":["show","hide"],"type":"string"},"audioFiles":{"$ref":"#/components/schemas/_message-templates.audio-files","description":"Lists information about the default audio files attached to the message template. Currently there will only be one, but future releases may support multiple audio streams with different purposes or quality"},"body":{"description":"Default optional detailed body text, may be up to 10,000 characters long","example":"Please stay alert for updates as we track the intruder.","maximum":10000,"type":"string"},"bodyCustomizable":{"description":"Whether the body can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"bodyDisplay":{"deprecated":true,"description":"Deprecated (body will always be displayed): Suggestion to client application whether or not to show the body when sending the notification","enum":["show","hide"],"type":"string"},"cancelNotificationsType":{"description":"When a notification sent with this message template, determines what other notifications should be canceled: `none`, `all`, or `specific` (based on the message templates used for those other notifications)","enum":["all","none","specific"],"example":"none","type":"string"},"cancelNotificationsTypeDisplay":{"description":"Informs client applications whether the cancellation section should be displayed to senders when composing a notification based on this template","enum":["hide","show"],"type":"string"},"collaborationGroupIds":{"description":"The `id`s of Collaboration Groups which should, by default, receive notifications based on this template<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIdsCustomizable":{"description":"Whether `collaborationGroupIds` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"collaborationGroupIdsDisplay":{"description":"Informs client applications whether the collaboration groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `collaborationGroupIds` are supplied<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"collaborationGroups":{"description":"The outbound systems which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.collaboration-groups"},"type":"array"},"confirmationRequestId":{"description":"The `id` of the attached Confirmation Request (this is what is actually stored; the expanded details about the Confirmation Request are returned as a convenience, to save clients from having to issue a separate request to look them up)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"confirmationRequestIdCustomizable":{"description":"Whether `confirmationRequestId` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"confirmationRequestIdDisplay":{"description":"Informs client applications whether the confirmation request section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["show","hide"],"type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"deviceGroupIds":{"description":"The `id`s of Device Groups which should, by default, receive notifications based on this template","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIdsCustomizable":{"description":"Whether `deviceGroupIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"deviceGroupIdsDisplay":{"description":"Informs client applications whether the device groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `deviceGroupIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"deviceGroups":{"description":"The device groups which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.device-groups"},"type":"array"},"distributionListIds":{"description":"A list of `id`s of Distribution Lists which should, by default, receive notifications based on this template","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIdsCustomizable":{"description":"Whether `distributionListIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"distributionListIdsDisplay":{"description":"Informs client applications whether the distribution lists section should be displayed to senders when composing a notification based on this template, defaults to `show` when `distributionListIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"distributionLists":{"description":"The distribution lists which should, by default, receive notifications based on this template","items":{"$ref":"#/components/schemas/_message-templates.distribution-lists"},"type":"array"},"expiration":{"description":"The time in seconds the notification should expire from the time it is sent (a `null` value indicates the notification does not expire)","example":null,"type":"integer"},"expirationCustomizable":{"description":"Whether `expiration` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"expirationDisplay":{"description":"Informs client applications whether the expiration section should be displayed to senders when composing a notification based on this template, defaults to `show` when expiration is present","enum":["hide","show"],"type":"string"},"facilityId":{"description":"The ID of the facility this message template belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"followUp":{"description":"Denotes whether this template is usable for a follow-up: if set to `true`, this template can be used as the `messageTemplateId` when sending a new notification based on an existing notification in the notification history. If set to `false`, attempting to use this template in the same manner will result in an error. Message templates that support a follow-up are subject to different validation rules (i.e. all recipient fields can be set non-customizable in addition to specifying no recipients when saving the template)","type":"boolean"},"id":{"description":"ID of the message template","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"image":{"description":"Length of the attached image, in bytes, or zero if there is none","example":11472,"type":"integer"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageCustomizable":{"description":"Whether `image` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"imageDisplay":{"description":"Informs client applications whether the image section should be displayed to senders when composing a notification based on this template, defaults to `show` when image is present","enum":["show","hide"],"type":"string"},"imageFiles":{"$ref":"#/components/schemas/_message-templates.image-files","description":"Lists information about the default image files attached to the message template. Currently there will only be one, but future releases may support multiple audio streams with different purposes or quality"},"imageMimeType":{"description":"The content type of the default image attached to the message template, if there is one (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/gif","image/jpg"],"type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_message-templates.incident-plan"},"incidentPlanId":{"description":"Specifies the Incident Plan to use for the incident created from this message template, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"incidentPlanIdCustomizable":{"description":"Whether `incidentPlanId`can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":true,"type":"boolean"},"incidentPlanIdDisplay":{"description":"Informs client applications whether the incident plan section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"inferredMessageType":{"description":"The inferred type of the fusion message associated with this template","example":"Text and Pre-Recorded Audio","type":"string"},"isShared":{"description":"Denotes whether or not this message template is globally shared","example":true,"type":"boolean"},"messageTemplateCancellationIds":{"description":"A list of `id`s of Message Templates: Notifications sent by these message templates will be canceled by any sends of the current message template","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"name":{"description":"Message template name","example":"Intruder Alert (Copy)","maximum":140,"type":"string"},"notificationProfileId":{"description":"The `id` of the Notification Profile used to configure the notification; omitting this value will default it to the default Notification Profile","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.<br>_Specifying value ':critical' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["critical","normal"],"example":"critical","type":"string"},"subject":{"description":"Default subject for notifications based on the message template, up to 255 characters long","example":"An intruder has been spotted!","maximum":255,"type":"string"},"subjectCustomizable":{"description":"Whether the subject can be customized when sending notifications (defaults to `false`)","type":"boolean"},"subjectDisplay":{"deprecated":true,"description":"Deprecated (subject will always be displayed): Suggestion to client application whether or not the subject is shown when sending the notification","enum":["hide","show"],"example":"show","type":"string"},"syncId":{"description":"An ID used to identify this resource when synced to on-premise servers","format":"uuid","type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsCustomContentCustomizable":{"description":"Whether ttsCustomContent` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"ttsCustomContentDisplay":{"deprecated":true,"description":"Deprecated (controlled by audio-display): Suggestion to client application whether or not to show the custom-tts field when sending the notification","enum":["show","hide"],"type":"string"},"ttsSpeed":{"description":"The rate at which the text will be spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes are transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"example":"subject-and-body","type":"string"},"ttsVoiceId":{"description":"Specifies the Text-to-Speech Voice to be used when synthesizing audio for this message template","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"ttsVoiceIdCustomizable":{"description":"Whether `ttsVoiceId` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"ttsVoiceIdDisplay":{"deprecated":true,"description":"Deprecated (controlled by audio-display): Suggestion to client application whether or not to show the voice-name field when sending the notification","enum":["show","hide"],"type":"string"},"userIds":{"description":"The ids of individual Users who should, by default, receive notifications based on this template, regardless of their distribution list memberships.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"userIdsCustomizable":{"description":"Whether `userIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"userIdsDisplay":{"description":"Informs client applications whether the individual user section should be displayed to senders when composing a notification based on this template, defaults to `show` when `userIds` are supplied","enum":["show","hide"],"example":"show","type":"string"},"users":{"description":"The users which should, by default, receive notifications based on this template independent of their membership in any other group","items":{"$ref":"#/components/schemas/_message-templates.users"},"type":"array"},"voice":{"$ref":"#/components/schemas/_message-templates.voice"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_notification-profiles.all-settings-response":{"description":"The current extension settings attached to the notification profile","example":[{"attachments":[],"disabled":false,"extension":{"disabled":false,"effectiveConfig":{"introText":"This is an alert from Singlewire Software."},"globaldisabled":false},"id":"b6d90e60-2a40-11e5-8134-9a9e6c05013a","name":"Email","value":{"introText":"This is an alert from Campus Security."}},{"attachments":[],"disabled":false,"extension":{"disabled":false,"effectiveConfig":{},"globaldisabled":false},"id":"839771a8-4915-11e6-8b2f-d310e58d9c03","name":"Apple Production Push μ","value":{}},{"attachments":[],"disabled":false,"extension":{"disabled":false,"effectiveConfig":{},"globaldisabled":false},"id":"5a181177-3f02-11e6-9617-6bb7c7eddc0e","name":"Google μ","value":{}},{"attachments":[],"disabled":false,"extension":{"disabled":false,"effectiveConfig":{"includeBody":true,"introduction":"Singlewire Software alert:"},"globaldisabled":false},"id":"17c57b50-833d-11e5-b222-def38c5ff9e6","name":"SMS","value":{"includeBody":false,"introduction":"Campus Security alert:"}},{"attachments":[],"disabled":false,"extension":{"disabled":false,"effectiveConfig":{"introduction":"This is an alert from Singlewire Software."},"globaldisabled":false},"id":"0a466b30-7670-11e5-ba6e-765ae9d26291","name":"Phone Call","value":{"introduction":"This is an alert from Campus Security."}},{"attachments":[],"disabled":false,"extension":{"disabled":false,"effectiveConfig":{"categories":["Geo","Met","Safety","Fire","Health","Env"],"certainty":"Likely","eventDescription":"InformaCast Alert","msgType":"Alert","parameters":[],"urgency":"Severe"},"globaldisabled":false},"id":"e1b2db4b-626a-11e7-a3f9-0de43455e892","name":"Outbound CAP","value":{"categories":["Geo","Met","Safety","Security","Rescue","Fire","Health","Env","Transport","Infra","CBRNE","Other"],"certainty":"Unknown","eventDescription":"InformaCast Alert","msgType":"Alert","parameters":[],"urgency":"Unknown"}},{"attachments":[{"contentType":"audio/wav","fileName":"mainAudio.wav","id":"f754d17c-0eaf-11ed-bc05-f710a7fe079b","metadata":{"bitRate":64000,"bitsPerSample":8,"channels":1,"codecLongName":"PCM mu-law / G.711 mu-law","codecName":"pcm_mulaw","codecTimeBase":"1/8000","encoding":"ulaw","frameLength":24180,"frameRate":8000,"sampleFmt":"s16","seconds":3.0225,"timeBase":"1/8000"},"name":"mainAudio","size":24238,"url":"https://example.com/api/v1/notification-profiles/f70db65b-0eaf-11ed-bc05-99bfceb6da3f/settings/e322d549-4e80-11e6-af2d-9baf604d14b0/attachments/f754d17c-0eaf-11ed-bc05-f710a7fe079b"}],"extension":{"disabled":false,"effectiveConfig":{"concatenateText":false,"duration":5,"messageType":"Text","persistentText":true,"priority":1,"repeatIndefinitely":false,"repetitionPause":null,"repetitions":null,"ringtone":false,"scrollDuration":null,"scrollSpeed":5,"skipPhonesInUse":false,"synchronizedDelivery":true,"volume":"As-Is"},"globaldisabled":false,"id":"e322d549-4e80-11e6-af2d-9baf604d14b0","name":"Fusion Device"},"id":"e322d549-4e80-11e6-af2d-9baf604d14b0","ipSpeakerAssets":[{"asset":{"contentType":"application/zip","fileName":"example.zip","metadata":null,"size":198,"url":"https://api.icmobile.singlewire.com/api/v1/notification-profiles/95470d2e-1ee9-11f0-b225-8f141da9c31a/settings/e322d549-4e80-11e6-af2d-9baf604d14b0/ip-speaker-asset/8cc22110-205f-11f0-ad0d-89c520f4c4b6"},"authoringUrl":"https://sp-authoring.com?id=19635ce1-1f70-4000-8c70-c0d247d25701&tag=SP-ModelName-CapabilityLabel","description":"Blink lights red and blue","exampleImage":{"altText":"Speaker flashing lights blue and red","contentType":"image/bmp","fileName":"example.bmp","metadata":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":3},"compression":{"compressionTypeName":"lzw","lossless":true,"numProgressiveScans":1},"data":{"sampleFormat":"Index"},"dimension":{"horizontalPixelOffset":0,"imageOrientation":"Normal","verticalPixelOffset":0},"height":24,"width":38},"size":964,"url":"https://api.icmobile.singlewire.com/api/v1/notification-profiles/95470d2e-1ee9-11f0-b225-8f141da9c31a/settings/e322d549-4e80-11e6-af2d-9baf604d14b0/ip-speaker-asset-example-image/8cc22110-205f-11f0-ad0d-89c520f4c4b6"},"id":"8cc22110-205f-11f0-ad0d-89c520f4c4b6","tag":"SP-ModelName-CapabilityLabel"}],"name":"Fusion Device","value":{"concatenatedText":false,"duration":5,"messageType":"Text and Pre-Recorded Audio","persistentText":true,"priority":1,"queuedFailureRecipientGroup":null,"queuedFailureText":"Unable to send queued broadcast!","queuedSendThreshold":null,"queueingAllowed":false,"repeatIndefinitely":false,"repetitionPause":1,"repetitions":1,"ringtone":false,"scrollDuration":null,"scrollRepetitions":null,"scrollSpeed":5,"skipPhonesInUse":false,"skipUnresponsiveRecipients":false,"synchronizedDelivery":false,"volume":"As-Is"}},{"attachments":[],"extension":{"disabled":false,"effectiveConfig":{"disabled":false,"value":{"displaySize":"Medium","initialDisplay":"Ticker","mainWindow":{"backgroundColor":"#FFFFFF","body":{"bold":false,"color":"#000000","font":"Arial","italic":false,"size":12},"linkColor":"#0000ee","subject":{"bold":false,"color":"#000000","font":"Arial","italic":false,"size":12}},"style":"Custom","ticker":{"backgroundColor":"#FFFFFF","bold":false,"color":"#000000","font":"Arial","italic":false,"size":12}}},"globaldisabled":false,"id":"56d6e006-542e-11e6-ae77-e3b4cf41fce9","name":"Desktop Notifier - Fusion"},"value":{"displaySize":"Medium","initialDisplay":"Immediate","mainWindow":{"backgroundColor":"#FFFFFF","body":{"bold":false,"color":"#000000","font":"Arial","italic":false,"size":"8"},"linkColor":"#0000E0","subject":{"bold":false,"color":"#000000","font":"Arial","italic":false,"size":"8"}},"style":"Normal","ticker":{"backgroundColor":"#FFFFCC","bold":false,"color":"#101000","font":"Arial","italic":false,"size":"8"}}}],"items":{"$ref":"#/components/schemas/_notification-profiles.settings-response"},"type":"array"},"_notification-profiles.response":{"$ref":"#/components/schemas/_notification-profiles.response.adjusted"},"_notification-profiles.response.adjusted":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"default":{"description":"Will be `true` if this notification profile is the system default, which means it will be used by any message template that does not specify to use another, and therefore it cannot be deleted","type":"boolean"},"facilityId":{"description":"The ID of the facility this notification profile belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"The `id` of this specific notification profile, allowing it to be manipulated or retrieved ","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this notification profile is globally shared","example":true,"type":"boolean"},"name":{"description":"The notification profile name, may be up to 140 characters long","example":"Default Profile","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"settings":{"$ref":"#/components/schemas/_notification-profiles.all-settings-response"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_notification-profiles.settings-attachment-response":{"description":"A resource such as an image or audio attached to notification profile settings","properties":{"contentType":{"description":"The MIME type of the attachment, such as `image/png`, `audio/wav`, etc.","example":"image/jpeg","type":"string"},"id":{"description":"The `id` of the attachment","format":"uuid","type":"string"},"metadata":{"description":"Any specific metadata about the attachment such as audio length, format, etc.","type":"object"},"name":{"description":"The name of the attachment","enum":["Email"],"type":"string"},"url":{"description":"The URL that can be used to fetch the binary data of the attachment","example":"https://example.com/some/path","type":"string"}},"type":"object"},"_notification-profiles.settings-bulk-update":{"items":{"oneOf":[{"properties":{"0a466b30-7670-11e5-ba6e-765ae9d26291":{"description":"The settings for the Phone Call extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.phone-call-value"}},"type":"object"},"17c57b50-833d-11e5-b222-def38c5ff9e6":{"description":"The settings for the SMS extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.sms-value"}},"type":"object"},"56d6e006-542e-11e6-ae77-e3b4cf41fce9":{"description":"The settings for the Desktop Notifier extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.desktop-notifier-value"}},"type":"object"},"5a181177-3f02-11e6-9617-6bb7c7eddc0e":{"description":"The settings for the Android extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"}},"type":"object"},"839771a8-4915-11e6-8b2f-d310e58d9c03":{"description":"The settings for the iOS extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"}},"type":"object"},"b6d90e60-2a40-11e5-8134-9a9e6c05013a":{"description":"The settings for the Email extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.email-value"}},"type":"object"},"e1b2db4b-626a-11e7-a3f9-0de43455e892":{"description":"The settings for the Outbound CAP extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.outbound-cap-value"}},"type":"object"},"f754d17c-0eaf-11ed-bc05-f710a7fe079b":{"description":"The settings for the InformaCast Device extension","properties":{"disabled":{"description":"Whether this extension should be skipped at send time","example":false,"type":"boolean"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.informacast-device-value"}},"type":"object"}},"type":"object"}]},"type":"array"},"_notification-profiles.settings-ip-speaker-asset-response":{"properties":{"asset":{"description":"Details about the IP speaker asset","properties":{"contentType":{"description":"The content type of the IP speaker asset, such as application/zip or application/x-zip-compressed","type":"string"},"fileName":{"description":"The file name of the IP speaker asset","type":"string"},"metadata":{"description":"Information about the IP speaker asset provided by the codec which understands that media format","type":"object"},"size":{"description":"The size of the IP speaker asset in bytes","type":"integer"},"url":{"description":"The url that can be used to fetch the binary data of the IP speaker asset","type":"string"}},"type":"object"},"authoringUrl":{"description":"The url to the vendor authoring tool","type":"string"},"description":{"description":"Description of what the config file does","type":"string"},"exampleImage":{"description":"Details about the IP speaker asset","properties":{"altText":{"description":"The alternate text to be used for identifying the example image","type":"string"},"contentType":{"description":"The content type of the IP speaker example image, such as application/zip or application/x-zip-compressed","type":"string"},"fileName":{"description":"The file name of the IP speaker example image","type":"string"},"metadata":{"description":"Information about the IP speaker example image provided by the codec which understands that media format","type":"object"},"size":{"description":"The size of the IP speaker example image in bytes","type":"integer"},"url":{"description":"The url that can be used to fetch the binary data of the IP speaker example image","type":"string"}},"type":"object"},"id":{"description":"The `id` of the IP speaker asset","format":"uuid","type":"string"},"tag":{"description":"The tag of the attachment","type":"string"}},"type":"object"},"_notification-profiles.settings-response":{"description":"Settings for one of tne extensions configured by the notification profile","oneOf":[{"$ref":"#/components/schemas/_notification-profiles.settings.android"},{"$ref":"#/components/schemas/_notification-profiles.settings.desktop-notifier"},{"$ref":"#/components/schemas/_notification-profiles.settings.email"},{"$ref":"#/components/schemas/_notification-profiles.settings.informacast-device"},{"$ref":"#/components/schemas/_notification-profiles.settings.ios"},{"$ref":"#/components/schemas/_notification-profiles.settings.outbound-cap"},{"$ref":"#/components/schemas/_notification-profiles.settings.phone-call"},{"$ref":"#/components/schemas/_notification-profiles.settings.sms"}],"type":"object"},"_notification-profiles.settings-update-value":{"description":"Settings for the specified extension","oneOf":[{"$ref":"#/components/schemas/_notification-profiles.settings.desktop-notifier-value"},{"$ref":"#/components/schemas/_notification-profiles.settings.email-value"},{"$ref":"#/components/schemas/_notification-profiles.settings.informacast-device-value"},{"$ref":"#/components/schemas/_notification-profiles.settings.outbound-cap-value"},{"$ref":"#/components/schemas/_notification-profiles.settings.phone-call-value"},{"$ref":"#/components/schemas/_notification-profiles.settings.sms-value"}],"type":"object"},"_notification-profiles.settings.android":{"$ref":"#/components/schemas/_notification-profiles.settings.android-merged"},"_notification-profiles.settings.android-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"description":"Similar to `value`, but is the current config reported by the extension itself, and its values will be used during send if the corresponding `value` entry is `null`","type":"object"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["5a181177-3f02-11e6-9617-6bb7c7eddc0e"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["Google μ"],"type":"string"},"value":{"description":"The extension-specific settings; this extension has none","type":"object"}},"title":"Android"},"_notification-profiles.settings.desktop-notifier":{"$ref":"#/components/schemas/_notification-profiles.settings.desktop-notifier-merged"},"_notification-profiles.settings.desktop-notifier-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"$ref":"#/components/schemas/_notification-profiles.settings.desktop-notifier-value"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["56d6e006-542e-11e6-ae77-e3b4cf41fce9"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["Desktop Notifier - Fusion"],"type":"string"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.desktop-notifier-value"}},"title":"Desktop Notifier"},"_notification-profiles.settings.desktop-notifier-value":{"description":"The settings for the Desktop Notifier extension (`effectiveConfig` shows the result of merging the profile settings in `value` with the default extension settings)","properties":{"displaySize":{"description":"Sets the size of the main window that is displayed","enum":["Small","Medium","Large","Max"],"example":"Medium","type":"string"},"initialDisplay":{"description":"Controls the initial window display behavior of the notification. If `Ticker` is chosen, related settings must be specified","enum":["Immediate","Ticker","Toast","Badge"],"type":"string"},"mainWindow":{"description":"Settings used to configure the main window when `style` is `custom`","properties":{"backgroundColor":{"description":"☎ Sets the background color of the main window, as a hexadecimal RGB value","example":"#FFFFFF","type":"string"},"body":{"description":"Settings for the main window body text","properties":{"bold":{"description":"Determines if the main window body text is bold","type":"boolean"},"color":{"description":"Sets the color of the main window body text, as a hexadecimal RGB value","example":"#000000","type":"string"},"font":{"description":"Sets the font of the main window body text","enum":["Arial","ArialBlack","ComicSansMS","Courier","CourierNew","Georgia","Helvetica","Impact","TrebuchetMS","Times","TimesNewRoman","Verdana"],"type":"string"},"italic":{"description":"Determines if the main window body text is italicized","type":"boolean"},"size":{"description":"Sets the size of the main window body text in points","enum":["8","9","10","11","12","14","16","18","20","24","30"],"type":"string"}},"type":"object"},"linkColor":{"description":"Sets the color of links (email addresses and URLs), as a hexadecimal RGB value","example":"#0000E0","type":"string"},"subject":{"description":"Settings for the main window subject text","properties":{"bold":{"description":"Determines if the main window subject text is bold","type":"boolean"},"color":{"description":"☎ Sets the color of the main window subject text, as a hexadecimal RGB value","example":"#000000","type":"string"},"font":{"description":"Sets the font of the main window subject text","enum":["Arial","ArialBlack","ComicSansMS","Courier","CourierNew","Georgia","Helvetica","Impact","TrebuchetMS","Times","TimesNewRoman","Verdana"],"type":"string"},"italic":{"description":"Determines if the main window subject text is italicized","type":"boolean"},"size":{"description":"Sets the size of the main window subject text in points","enum":["8","9","10","11","12","14","16","18","20","24","30"],"type":"string"}},"type":"object"}},"type":"object"},"style":{"description":"☎ Affects the general display characteristics of the notification to include default fonts and colors. If `Custom` is set, related dependent parameters are required","enum":["Normal","Emergency","Warning","Custom"],"type":"string"},"ticker":{"description":"Settings used when `style` is `Custom` and `initialDisplay` is `Ticker`","properties":{"backgroundColor":{"description":"Sets the background color of the ticker, as a hexadecimal RGB value","example":"#FFFFCC","type":"string"},"bold":{"description":"Determines if the ticker text is bold","type":"boolean"},"color":{"description":"Sets the color of the ticker text, as a hexadecimal RGB value","example":"#101000","type":"string"},"font":{"description":"Sets the font of the ticker text","enum":["Arial","ArialBlack","ComicSansMS","Courier","CourierNew","Georgia","Helvetica","Impact","TrebuchetMS","Times","TimesNewRoman","Verdana"],"type":"string"},"italic":{"description":"Determines if the ticker text is italicized","type":"boolean"},"size":{"description":"Sets the size of the ticker text in points","enum":["8","9","10","11","12","14","16","18","20","24","30"],"type":"string"}},"type":"object"}},"type":"object"},"_notification-profiles.settings.email":{"$ref":"#/components/schemas/_notification-profiles.settings.email-merged"},"_notification-profiles.settings.email-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"$ref":"#/components/schemas/_notification-profiles.settings.email-value"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["b6d90e60-2a40-11e5-8134-9a9e6c05013a"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["Email"],"type":"string"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.email-value"}},"title":"Email"},"_notification-profiles.settings.email-value":{"description":"The settings for the Email extension (`effectiveConfig` shows the result of merging the profile settings in `value` with the default extension settings)","properties":{"introText":{"description":"The email introduction text","example":"This is an alert from Campus Security.","type":"string"}},"type":"object"},"_notification-profiles.settings.informacast-device":{"$ref":"#/components/schemas/_notification-profiles.settings.informacast-device-merged"},"_notification-profiles.settings.informacast-device-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[{"contentType":"audio/wav","fileName":"mainAudio.wav","id":"f754d17c-0eaf-11ed-bc05-f710a7fe079b","metadata":{"bitRate":64000,"bitsPerSample":8,"channels":1,"codecLongName":"PCM mu-law / G.711 mu-law","codecName":"pcm_mulaw","codecTimeBase":"1/8000","encoding":"ulaw","frameLength":24180,"frameRate":8000,"sampleFmt":"s16","seconds":3.0225,"timeBase":"1/8000"},"name":"mainAudio","size":24238,"url":"https://api.icmobile.singlewire.com/api/v1/notification-profiles/f70db65b-0eaf-11ed-bc05-99bfceb6da3f/settings/e322d549-4e80-11e6-af2d-9baf604d14b0/attachments/f754d17c-0eaf-11ed-bc05-f710a7fe079b"}],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"$ref":"#/components/schemas/_notification-profiles.settings.informacast-device-value"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["e322d549-4e80-11e6-af2d-9baf604d14b0"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","example":[{"asset":{"contentType":"application/zip","fileName":"example.zip","metadata":null,"size":198,"url":"https://api.icmobile.singlewire.com/api/v1/notification-profiles/95470d2e-1ee9-11f0-b225-8f141da9c31a/settings/e322d549-4e80-11e6-af2d-9baf604d14b0/ip-speaker-asset/8cc22110-205f-11f0-ad0d-89c520f4c4b6"},"authoringUrl":"https://sp-authoring.com?id=19635ce1-1f70-4000-8c70-c0d247d25701&tag=SP-ModelName-CapabilityLabel","description":"Blink lights red and blue","exampleImage":{"altText":"Speaker flashing lights blue and red","contentType":"image/bmp","fileName":"example.bmp","metadata":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":3},"compression":{"compressionTypeName":"lzw","lossless":true,"numProgressiveScans":1},"data":{"sampleFormat":"Index"},"dimension":{"horizontalPixelOffset":0,"imageOrientation":"Normal","verticalPixelOffset":0},"height":24,"width":38},"size":964,"url":"https://api.icmobile.singlewire.com/api/v1/notification-profiles/95470d2e-1ee9-11f0-b225-8f141da9c31a/settings/e322d549-4e80-11e6-af2d-9baf604d14b0/ip-speaker-asset-example-image/8cc22110-205f-11f0-ad0d-89c520f4c4b6"},"id":"8cc22110-205f-11f0-ad0d-89c520f4c4b6","tag":"SP-ModelName-CapabilityLabel"}],"items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["Fusion Device"],"type":"string"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.informacast-device-value"}},"title":"InformaCast Device"},"_notification-profiles.settings.informacast-device-value":{"description":"The settings for the InformaCast Device extension (`effectiveConfig` shows the result of merging the profile settings in `value` with the default extension settings)","properties":{"concatenatedText":{"description":"Controls whether the short and long text will be concatenated together on the recipient’s display, the message icon will not be displayed, and no Details button will be offered","type":"boolean"},"duration":{"description":"Either the maximum time (in seconds) InformaCast will wait for recipient activation before beginning to play a message (when `synchronizedDelivery` is `true`), or the length of time for which InformaCast will play the message (default value `5`) when `synchronizedDelivery` is `false`","example":5,"type":"integer"},"messageType":{"description":"The on-premise message type","enum":["Text","Text and Pre-Recorded Audio","Text and Live Audio","Text and Ad-Hoc Audio","Pre-Recorded Audio","Live Audio","Ad-Hoc Audio"],"example":"Text and Pre-Recorded Audio","type":"string"},"persistentText":{"description":"Controls whether the text will persist on a phone’s display when the user exits a notification which arrives later","example":true,"type":"boolean"},"priority":{"description":"Set the message priority. The highest priority is 1 (which is also the default value). The lowest priority can be configured in InformaCast’s Broadcast Parameters","example":1,"type":"integer"},"queuedFailureRecipientGroup":{"description":"Recipient group `id` to be notified when a queued broadcast is not sent","example":null,"type":"integer"},"queuedFailureText":{"description":"Notification text to be sent when a queued broadcast is not sent","example":"Unable to send queued broadcast!","type":"string"},"queuedSendThreshold":{"description":"The smallest percentage of available broadcast devices that will permit a queued broadcast to be sent","example":null,"type":"integer"},"queueingAllowed":{"description":"Allows ad-hoc messages to be broadcast in the order they were initiated, but without overlapping","type":"boolean"},"repeatIndefinitely":{"description":"Controls whether the message will be repeated until manually stopped. Must be consistent with `repetitions` if both are present","type":"boolean"},"repetitionPause":{"description":"The number of seconds to wait between repetitions of the message","example":1,"type":"integer"},"repetitions":{"description":"The number of times the message will repeat (setting `repetitions` to `0` means the message will repeat indefinitely). Must be consistent with `repeatIndefinitely` if both are present","example":1,"type":"integer"},"ringtone":{"description":"Sets whether a message will be available as a ring tone for the bell scheduler","type":"boolean"},"scrollDuration":{"description":"The number of seconds for which scrolling recipients will repeatedly move through a message (set either `scrollDuration` or `scrollRepetitions` but not both)","example":null,"type":"integer"},"scrollRepetitions":{"description":"The number of repetitions for which scrolling recipients will repeatedly move through a message (the value `0` means unlimited repetitions). Set either `scrollDuration` or `scrollRepetitions`, but not both; if both are `null`, three repetitions will be performed by scrolling recipients","example":null,"type":"integer"},"scrollSpeed":{"description":"The speed at which scrolling recipients will move through the message, a value ranging from `1` to `10`","example":5,"type":"integer"},"skipPhonesInUse":{"description":"Sets whether audio will be sent to phones on active calls (provided this can be determined)","type":"boolean"},"skipUnresponsiveRecipients":{"description":"Sets whether the message will be delivered only to recipients that are able to respond to it, i.e. phones and computers running the InformaCast Desktop Notifier","type":"boolean"},"synchronizedDelivery":{"description":"Controls whether InformaCast will wait until all devices are ready before starting to send the audio of the message","type":"boolean"},"volume":{"description":"The volume at which to play the message","enum":["As-Is","Maximum","Medium","Low"],"type":"string"}},"type":"object"},"_notification-profiles.settings.ios":{"$ref":"#/components/schemas/_notification-profiles.settings.ios-merged"},"_notification-profiles.settings.ios-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"description":"Similar to `value`, but is the current config reported by the extension itself, and its values will be used during send if the corresponding `value` entry is `null`","type":"object"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["839771a8-4915-11e6-8b2f-d310e58d9c03"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["Apple Production Push μ"],"type":"string"},"value":{"description":"The extension-specific settings; this extension has none","type":"object"}},"title":"iOS"},"_notification-profiles.settings.outbound-cap":{"$ref":"#/components/schemas/_notification-profiles.settings.outbound-cap-merged"},"_notification-profiles.settings.outbound-cap-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"$ref":"#/components/schemas/_notification-profiles.settings.outbound-cap-value"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["e1b2db4b-626a-11e7-a3f9-0de43455e892"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["Outbound CAP"],"type":"string"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.outbound-cap-value"}},"title":"Outbound CAP"},"_notification-profiles.settings.outbound-cap-value":{"description":"The settings for the Outbound CAP extension (`effectiveConfig` shows the result of merging the profile settings in `value` with the default extension settings)","properties":{"categories":{"description":"At least one CAP category","example":["Geo","Met","Safety","Security","Rescue","Fire","Health","Env","Transport","Infra","CBRNE","Other"],"items":{"description":"CAP category","enum":["Geo","Met","Safety","Security","Rescue","Fire","Health","Env","Transport","Infra","CBRNE","Other"],"type":"string"},"type":"array"},"certainty":{"description":"CAP certainty level","enum":["Unknown","Observed","Likely","Possible","Unlikely"],"type":"string"},"eventDescription":{"description":"CAP event description","example":"InformaCast Alert","type":"string"},"msgType":{"description":"CAP message type. Currently, only `Alert` is supported","enum":["Alert"],"type":"string"},"parameters":{"description":"Array of parameter objects","example":[],"items":{"description":"CAP parameter object","properties":{"paramName":{"description":"Custom parameter name","type":"string"},"paramValue":{"description":"Custom parameter value","type":"string"}},"type":"object"},"type":"array"},"urgency":{"description":"CAP urgency level","enum":["Unknown","Extreme","Severe","Moderate","Minor"],"type":"string"}},"type":"object"},"_notification-profiles.settings.phone-call":{"$ref":"#/components/schemas/_notification-profiles.settings.phone-call-merged"},"_notification-profiles.settings.phone-call-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"$ref":"#/components/schemas/_notification-profiles.settings.phone-call-value"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["0a466b30-7670-11e5-ba6e-765ae9d26291"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["Phone Call"],"type":"string"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.phone-call-value"}},"title":"Phone Call"},"_notification-profiles.settings.phone-call-value":{"description":"The settings for the Phone Call extension (`effectiveConfig` shows the result of merging the profile settings in `value` with the default extension settings)","properties":{"introduction":{"description":"Using text-to-speech functionality, this introductory text will be spoken before each notification sent to phone call devices. Use it to indicate the notification’s sender, e.g. 'This is following is an alert from Campus Security.'","example":"This is an alert from Campus Security.","type":"string"}},"type":"object"},"_notification-profiles.settings.sms":{"$ref":"#/components/schemas/_notification-profiles.settings.sms-merged"},"_notification-profiles.settings.sms-merged":{"properties":{"attachments":{"description":"An array of attachments: currently only the Fusion device extension supports/honors attachments","example":[],"items":{"schema":{"$ref":"#/components/schemas/_notification-profiles.settings-attachment-response"},"type":"object"},"type":"array"},"disabled":{"description":"Whether these settings prevent this extension from participating in the notification (they can be overridden by the extension being globally disabled). When this is `true`, this notification channel will not be used during sending even if it has not been globally disabled","type":"boolean"},"extension":{"description":"Reports system-wide extension configuration","properties":{"disabled":{"description":"Whether an administrator has disabled this extension globally. When this is `true`, this notification channel will not be used during sending","type":"boolean"},"effectiveConfig":{"$ref":"#/components/schemas/_notification-profiles.settings.sms-value"},"globalDisabled":{"description":"Similar to `disabled`, but only Singlewire may set this value (in case of abuse, for example)","type":"boolean"}},"type":"object"},"id":{"description":"The `id` of the extension","enum":["17c57b50-833d-11e5-b222-def38c5ff9e6"],"format":"uuid","type":"string"},"ipSpeakerAssets":{"description":"An array of IP speaker assets: currently only the fusion device extension supports/honors IP speaker assets","items":{"$ref":"#/components/schemas/_notification-profiles.settings-ip-speaker-asset-response"},"type":"array"},"name":{"description":"The name of the extension","enum":["SMS"],"type":"string"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings.sms-value"}},"title":"SMS"},"_notification-profiles.settings.sms-value":{"description":"The settings for the SMS extension (`effectiveConfig` shows the result of merging the profile settings in `value` with the default extension settings)","properties":{"includeBody":{"description":"When `true`, will include up to 512 characters of the notification body in the delivered SMS message. Note: large notification bodies may impact SMS delivery times","type":"boolean"},"introduction":{"description":"This introductory text will be displayed before each notification sent to SMS-enabled devices. Use it to indicate the notification’s sender, e.g. 'Campus security alert:'","example":"Campus Security alert:","type":"string"}},"type":"object"},"_notification.progress.response":{"description":"Reports on the progress of the notification","properties":{"abortCount":{"description":"The number of abort instructions that have been processed","example":0,"type":"number"},"broadcastFailedCount":{"description":"The number of on-premises broadcasts that failed","example":0,"type":"number"},"broadcastFinishedCount":{"description":"The number of on-premises broadcasts that have finished","example":0,"type":"number"},"broadcastStartedCount":{"description":"The number of on-premises broadcasts that have been started","example":0,"type":"number"},"callAnsweredCount":{"description":"The number of voice calls that have been answered","example":1,"type":"number"},"callCompletedCount":{"description":"The number of voice calls that are finished","example":1,"type":"number"},"callFailedCount":{"description":"The number of voice call attempts that failed","example":0,"type":"number"},"callPlacedCount":{"description":"The number of voice calls that were made","example":1,"type":"number"},"callQueuedCount":{"description":"The number of voice calls that are queued","example":0,"type":"number"},"callSkippedCount":{"description":"The number of voice calls that were skipped","example":0,"type":"number"},"ciscoSparkCount":{"description":"The number of Cisco WebEx Teams messages that were sent","example":0,"type":"number"},"ciscoSparkFailedCount":{"description":"The number of Cisco WebEx Teams message attempts that have failed","example":0,"type":"number"},"conferenceCallFailedCount":{"description":"The number of conference calls that have failed","example":0,"type":"number"},"conferenceCallJoinedCount":{"description":"The number of conference calls that have been joined","example":0,"type":"number"},"conferenceCallLeftCount":{"description":"The number of conference calls that remain to be made","example":0,"type":"number"},"confirmableCount":{"description":"The number of recipients that can potentially send confirmations","example":2,"type":"number"},"deviceSkippedCount":{"description":"The number of devices that have been skipped","example":1,"type":"number"},"displayTextAndStartAudioCount":{"description":"The number of on-premises IP phones that have displayed the text and started playing audio","example":0,"type":"number"},"displayTextCount":{"description":"The number of on-premises IP phones that have only displayed test","example":0,"type":"number"},"emailFailedCount":{"description":"The number of email messages that failed to send","example":0,"type":"number"},"emailQueuedCount":{"description":"The number of email messages that are queued","example":0,"type":"number"},"emailSentCount":{"description":"The number of email messages that have been sent","example":1,"type":"number"},"expireCount":{"description":"The number of expirations that have occurred","example":0,"type":"number"},"extensions":{"description":"Information reported by extensions particpating in the notification","example":{"0a466b30-7670-11e5-ba6e-765ae9d26291":{"completed":1,"deviceType":"phone-call","failed":0,"total":1,"type":"device"},"17c57b50-833d-11e5-b222-def38c5ff9e6":{"completed":1,"deviceType":"SMS","failed":1,"total":1,"type":"device"},"551de6ae-3d36-11e6-834a-3d1fcb19aadd":{"completed":0,"deviceType":null,"failed":0,"total":0,"type":"fusion-endpoint"},"56d6e006-542e-11e6-ae77-e3b4cf41fce9":{"completed":0,"deviceType":"singlewire:idn-fusion","failed":0,"total":0,"type":"device"},"5a181177-3f02-11e6-9617-6bb7c7eddc0e":{"completed":0,"deviceType":"Android","failed":0,"total":0,"type":"device"},"839771a8-4915-11e6-8b2f-d310e58d9c03":{"completed":0,"deviceType":"apns","failed":0,"total":0,"type":"device"},"acb4e1a4-d029-11ea-b857-a730b507a69c":{"completed":0,"deviceType":"WNS","failed":0,"total":0,"type":"device"},"b6d90e60-2a40-11e5-8134-9a9e6c05013a":{"completed":2,"deviceType":"singlewire:email","failed":2,"total":2,"type":"device"},"ddca87d8-d2af-11eb-9747-5d78afe13d0b":{"completed":0,"deviceType":"apns-desktop","failed":0,"total":0,"type":"device"},"e1b2db4b-626a-11e7-a3f9-0de43455e893":{"completed":0,"deviceType":"outbound-cap-device","failed":0,"total":0,"type":"device"},"e322d549-4e80-11e6-af2d-9baf604d14b0":{"completed":0,"deviceType":"singlewire:fusion","failed":0,"total":0,"type":"device"},"f0e5d932-c31f-11e8-b4c1-7831c1bab3f6":{"completed":0,"deviceType":"msteams-chat","failed":0,"total":0,"type":"device"}},"items":{"type":"object"},"type":"array"},"fusionFailedCount":{"description":"The number of Fusion servers we were unable to contact","example":0,"type":"number"},"fusionQueuedCount":{"description":"The number of Fusion server contacts that have been queued","example":0,"type":"number"},"fusionSentCount":{"description":"The number of Fusion servers to which the notification was sent","example":0,"type":"number"},"idnFailedCount":{"description":"The number of desktop notifiers we failed to contact","example":0,"type":"number"},"idnQueuedCount":{"description":"The number of desktop notifiers that have been queued to contact","example":0,"type":"number"},"idnSentCount":{"description":"The number of desktop notifiers to which the notification has been sent","example":0,"type":"number"},"inboundCapFailedCount":{"description":"The number of inbound CAP message attempts that failed","example":0,"type":"number"},"ipPhonesFailedCount":{"description":"The number of on-premises IP phones we failed to reach","example":0,"type":"number"},"ipPhonesQueuedCount":{"description":"The number of IP phones this was queued to send to","example":0,"type":"number"},"ipPhonesSentCount":{"description":"The number of on-premises IP phones that have been reached","example":0,"type":"number"},"msteamsChannelFailedCount":{"description":"The number of MS Teams channel message attempts that have failed","example":0,"type":"number"},"msteamsChannelSentCount":{"description":"The number of MS Teams channel messages that have been sent","example":0,"type":"number"},"msteamsChatFailedCount":{"description":"The number of MS Teams chat attempts that failed","example":0,"type":"number"},"msteamsChatSentCount":{"description":"The number of MS Teams chat messages that have been sent","example":0,"type":"number"},"percentComplete":{"description":"Overall progress in sending the notification","example":100,"type":"number"},"pushFailedCount":{"description":"The number of push notifications that failed to send","example":0,"type":"number"},"pushQueuedCount":{"description":"The number of push notifications that have been queued","example":0,"type":"number"},"pushSentCount":{"description":"The number of push notifications that have been sent","example":0,"type":"number"},"readCount":{"description":"The number of recipients who have marked the notification as read","example":0,"type":"number"},"recipientCount":{"description":"The total number of recipients to which this was sent","example":2,"type":"number"},"recipientSkippedCount":{"description":"The number of recipients that were skipped","example":0,"type":"number"},"sendingFinishedCount":{"description":"The number of on-premises broadcasts that have finished","example":0,"type":"number"},"sendingStartedCount":{"description":"The number of on-premises broadcasts that have been started","example":0,"type":"number"},"smsFailedCount":{"description":"The number of SMS message attempts that failed","example":0,"type":"number"},"smsQueuedCount":{"description":"The number of SMS messages that have been queued","example":1,"type":"number"},"smsReceivedCount":{"description":"The number of SMS responses that have been received","example":0,"type":"number"},"smsSentCount":{"description":"The number of SMS messages that have been sent","example":0,"type":"number"},"speakersFailedCount":{"description":"The number of IP speakers that failed to participate in the on-premises broadcast","example":0,"type":"number"},"speakersQueuedCount":{"description":"The number of on-premises IP speaker attempts that have been queued","example":0,"type":"number"},"speakersSentCount":{"description":"The number of on-premises IP speakers that have been reached","example":0,"type":"number"},"startAudioCount":{"description":"The number of on-premises audio streams that have been started","example":0,"type":"number"},"stopAudioCount":{"description":"The number of on-premises audio broadcasts that have ended","example":0,"type":"number"},"trackingCompletedCount":{"description":"The number of tracking requests that have been completed","example":0,"type":"number"},"trackingStartedCount":{"description":"The number of tracking events that have been started","example":0,"type":"number"},"trackingTerminatedCount":{"description":"The number of tracking events that have been terminated","example":0,"type":"number"}},"type":"object"},"_notification_profiles_clone":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"default":{"description":"Will be `true` if this notification profile is the system default, which means it will be used by any message template that does not specify to use another, and therefore it cannot be deleted","type":"boolean"},"facilityId":{"description":"The ID of the facility this notification profile belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"The `id` of this specific notification profile, allowing it to be manipulated or retrieved ","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this notification profile is globally shared","example":true,"type":"boolean"},"name":{"description":"Notification profile name","example":"Default Profile (Copy)","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"settings":{"$ref":"#/components/schemas/_notification-profiles.all-settings-response"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_notifications.confirmation-request":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"dynamicReplies":{"description":"A list of Dynamic Replies attached to this confirmation request, which determine immediate reply behavior.","items":{"$ref":"#/components/schemas/_confirmation-requests_dynamic-replies.response"},"type":"array"},"escalationRules":{"description":"A list of Escalation Rules attached to this confirmation request, which determine post-response behavior.","items":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.response"},"type":"array"},"expirationPeriod":{"description":"Duration in seconds for which the confirmation request will be active and responses will be accepted. Defaults to 0, which means the confirmation request is available to accept responses indefinitely. If supplied, must be between 60 (one minute) and 2592000 (thirty days).","example":36000,"type":"integer"},"facilityId":{"description":"The ID of the facility this confirmation request belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"ID of the Confirmation Request","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"initiateTrackingOptions":{"description":"Matched with options you can specify which `options` responses should initiate a tracking event.","example":[true,false],"items":{"type":"boolean"},"maximum":16,"type":"array","uniqueItems":true},"isShared":{"description":"Denotes whether or not this confirmation request is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the confirmation request, which is the prompt that will be presented to the user.","example":"Are you safe?","maximum":140,"type":"string"},"options":{"description":"A list of all the response choices that will be available to the recipient. At most 16 options may be provided.","example":["No, please call me!","Atop Mount Olympus"],"items":{"type":"string"},"maximum":16,"minimum":1,"type":"array","uniqueItems":true},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_notifications.confirmation-response-counts":{"additionalProperties":{"description":"The responses to a single confirmation option, and the dynamic reply text configured for it. `every` is used when no quota is configured; otherwise the first `quota` respondents receive `first` and everyone after receives `rest`.","properties":{"count":{"description":"How many recipients have confirmed with this option","example":3,"type":"integer"},"every":{"description":"Used without `quota`, `first` or `rest`, to reply in the same way to all matching confirmation responses.","example":"Thank you for letting us know","type":"string"},"first":{"description":"The reply text for the first `quota` respondents","type":"string"},"quota":{"description":"The number of respondents that receive `first` rather than `rest`","type":"integer"},"rest":{"description":"The reply text for every respondent after the `quota` is met","type":"string"},"translations":{"description":"The translated reply text for this option, keyed by language tag","example":{"de-DE":{"every":"Danke für die Rückmeldung"}},"type":"object"}},"type":"object"},"description":"Tracks responses to the confirmation request. Each key is one of the confirmation request's option labels, so the keys vary from notification to notification.","example":{"I'm safe":{"count":3,"every":"Thank you for letting us know","first":null,"quota":null,"rest":null},"Please send help":{"count":0,"every":"We are tracking and will send help","first":null,"quota":null,"rest":null}},"properties":{"translatedOptions":{"additionalProperties":{"type":"string"},"description":"Maps each translated confirmation option label to the untranslated option label it stands for. Only present when the confirmation request has translations.","example":{"Ja":"Yes","Nein":"No"},"type":"object"}},"type":"object"},"_notifications.extensions.get.response":{"properties":{"id":{"description":"The id of the extension","example":"44d2902c-4344-11ec-bf8d-f70025e4774c","format":"uuid","type":"string"},"name":{"description":"The name of the extension","example":"Kontakt.io Wearable Panic Button","type":"string"}},"type":"object"},"_notifications.incident-plan":{"properties":{"id":{"description":"The ID of the Incident Plan","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_notifications.initiation-broadcast":{"additionalProperties":true,"description":"The JSON representation of the on-premises broadcast from which this notification is sourced, if any. The structure is defined by the InformaCast Advanced server that sent the broadcast, so it varies by broadcast type and server version and is not enumerated here. Attached binary payloads are replaced with a placeholder rather than being included.","example":{"audioFile":"A file is present.","concatenateText":false,"messageId":"18ee34d0-05b0-4000-8449-a5afa05c9d01","shortText":"Severe weather warning","skipUnresponsiveRecipients":true,"sourceType":"DialCast","timeInitiated":"2023-05-19T16:37:25.087Z"},"type":"object"},"_notifications.initiation-details":{"additionalProperties":true,"description":"Details about why and how a notification was initiated, when relevant. Which entries are present depends on the notification's `initiationSourceType`, and sources added in the future may introduce entries beyond the ones listed here.","properties":{"areaOfInterestBoundaryTrigger":{"description":"The area of interest boundary crossing that initiated this notification","example":{"action":"entered","id":"18ee34d0-05b0-4000-8449-a5afa05c9d01","triggeringUserId":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"},"type":"object"},"broadcastEvent":{"description":"A summary of the on-premises broadcast that initiated this notification","type":"object"},"dialCast":{"description":"The dialing details of the DialCast call that initiated this notification","example":{"dialcodes":"[]","dialed":"32202","dialingPatternRegEx":"32202"},"type":"object"},"emergencyAction":{"description":"The emergency action that was or should be taken, when initiated from an emergency scenario","enum":["contacting-emergency-services","open-dialer","none-need-emergency-building"],"type":"string"},"event":{"description":"The scenario event that initiated this notification, if the scenario was event-driven","type":"object"},"fields":{"description":"The scenario's fields, each carrying the `answer` given when the notification was initiated","items":{"$ref":"#/components/schemas/_scenarios.fields"},"type":"array"},"initiationDevice":{"$ref":"#/components/schemas/api-devices.response","description":"The device from which the notification was initiated, if any"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"The location resolved for the notification, if any"},"locationResolutionStrategy":{"description":"The order in which location sources were consulted to resolve `location`","example":["location","device"],"items":{"type":"string"},"type":"array"},"scenario":{"$ref":"#/components/schemas/_scenarios.response-base","description":"The scenario that initiated this notification"},"scheduledNotificationId":{"description":"The scheduled notification that initiated this notification","example":"18ee34d0-05b0-4000-817a-3f4edead4601","format":"uuid","type":"string"},"type":{"description":"The kind of initiation these details describe, when the source does not have its own entry below","example":"scheduled-notification","type":"string"}},"type":"object"},"_notifications.initiator":{"properties":{"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_notifications.merged-response":{"properties":{"abortedAt":{"description":"When this notification was canceled, will be `null` if the notification has not been canceled","example":null,"format":"date-time","type":"string"},"additionalDeviceRecipients":{"description":"An array of additional devices that should receive this notification.","example":[{"lookupValue":"12345","type":"ip-speaker"}],"items":{"format":"json","type":"string"},"maximum":100,"type":"array","uniqueItems":true},"alertTone":{"description":"The alert tone to use for mobile push notifications","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"areaOfInterestIds":{"description":"A list of the `id`s of all areas of interest to which this notification was sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areasOfInterest":{"description":"The areas of interest, if any, to which this notification was sent","items":{"$ref":"#/components/schemas/_message-templates.areas-of-interest"},"type":"array"},"audio":{"description":"Length of the attached audio, in bytes, or zero if there is none","example":37830,"type":"integer"},"audioFiles":{"$ref":"#/components/schemas/_message-templates.audio-files","description":"Lists information about the audio files sent with this notification. Currently there will only be one, but future releases may support multiple audio streams with different purposes or quality"},"body":{"description":"Optional detailed body text for the notification, up to 10,000 characters long","example":"Warning: An intruder has been spotted on campus heading towards the recreation center. Please be advised and stay tuned for further updates. Have you seen the intruder?","maximum":10000,"type":"string"},"collaborationGroupIds":{"description":"A list of the `id`s of all outbound systems to which this notification was sent<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroups":{"description":"The outbound systems, if any, to which this notification was sent","items":{"$ref":"#/components/schemas/_message-templates.collaboration-groups"},"type":"array"},"confirmableCount":{"description":"The number of recipients who could pontentially send a confirmation response","example":42,"type":"integer"},"confirmationRequest":{"$ref":"#/components/schemas/_notifications.confirmation-request"},"confirmationRequestId":{"description":"The `id` of the confirmation request attached to the notification, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"confirmationResponseCounts":{"$ref":"#/components/schemas/_notifications.confirmation-response-counts","description":"Tracks responses to the confirmation request"},"createdAt":{"description":"When this notification was sent","format":"date-time","type":"string"},"customVars":{"description":"Key/value pairs which can replace placeholders in the message template when the notification is created. The placeholder syntax in message templates will be of the form `{{varName}}`, where `varName` was one of the keys supplied here, and the corresponding value will be substituted into the notification.","example":{"affectedCounty":"Dane","affectedState":"Wisconsin"},"format":"json","type":"string"},"deviceGroupIds":{"description":"A list of the `id`s of all device groups to which this notification was sent","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroups":{"description":"The device groups, if any, to which this notification was sent","items":{"$ref":"#/components/schemas/_message-templates.device-groups"},"type":"array"},"distributionListIds":{"description":"A list of the `id`s of all distribution lists to which this notification was sent","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionLists":{"description":"The distribution lists, if any, to which this notification was sent","items":{"$ref":"#/components/schemas/_message-templates.distribution-lists"},"type":"array"},"draft":{"description":"If omitted, an actual notification is sent. If supplied with the value `true`, a notification preview is created, showing who would have received it if it were actually sent, but no actual sending will occur. As a query filter can be set to `true` to exclusively list this user's draft notifications.","type":"boolean"},"expiresAt":{"description":"When this notification will (or did) expire, can be `null` for non-expiring notifications","example":null,"format":"date-time","type":"string"},"extensionSettingsOverrides":{"description":"Allows device extensions which were enabled in the notification profile to be disabled at send time: an object whose keys are device extension `id`s, and values are `{\"disabled\": true}`","example":{"0a466b30767011e5Ba6e765ae9d26291":{"disabled":true}},"format":"json","type":"string"},"facilityId":{"description":"The ID of the facility this notification belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"followUpAllowed":{"description":"Denotes whether this notification can be the source of a follow-up notification (using `followUpForNotificationId`); client applications can use this to enable buttons in a user interface","type":"boolean"},"followUpForNotificationId":{"description":"The `id` of the source notification for which a follow-up message is being sent (and which will define the recipients; `followUpAllowed` must be `true` for that notification). This value can refer to any eligible notification in the history and must be paired with `followUpForNotificationQuery` for recipient selection. The `messageTemplateId` provided must support follow-up (i.e. its `followUp` value must be true)","format":"uuid","type":"string"},"followUpForNotificationQuery":{"description":"The query used at send time to create the list of recipients based on the `followUpForNotificationId` also supplied; the value uses the same search query syntax used for `q` filters (i.e. `read:true` would extract all recipients that read the original notification); recipients determined from this query are merged with any configured on the message template","example":"read:true","maximum":10000,"type":"string"},"id":{"description":"ID of the notification","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"image":{"description":"Length of the attached image, in bytes, or zero if there is none","example":11472,"type":"integer"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageFiles":{"$ref":"#/components/schemas/_message-templates.image-files","description":"Lists information about the image files sent with this notification. Currently there will only be one, but future releases may support multiple images with different purposes or quality"},"imageMimeType":{"description":"The format in which the image data will be delivered, if there is an image associated with this notification (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/jpg","image/gif"],"type":"string"},"incidentId":{"description":"The `id` of the incident this notification started or belongs to","format":"uuid","type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_notifications.incident-plan"},"incidentPlanId":{"description":"The `id` of the incident plan, if any, used to create an incident when sending this notification<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"initiatingEndpointId":{"description":"The `id` of the fusion server the broadcast came from, if it was initiated on-prem","example":null,"format":"uuid","type":"string"},"initiationBroadcast":{"$ref":"#/components/schemas/_notifications.initiation-broadcast","description":"The JSON representation of the on-prem broadcast from which this notification is sourced, if any"},"initiationDetails":{"$ref":"#/components/schemas/_notifications.initiation-details","description":"Details about why and how a notification was initiated, when relevant"},"initiationSourceClientId":{"description":"The client type for vanilla notifications: `iOS Device Secure`, `Android Device Secure`, or `IcMobile Web`","example":null,"type":"string"},"initiationSourceDescription":{"description":"The name or description of the resource that triggered this notification","example":null,"type":"string"},"initiationSourceId":{"description":"The `id` of the resource that initiated the notification, if not a user","example":null,"type":"string"},"initiationSourceType":{"description":"Source type of the notification, unique to each type","example":null,"type":"string"},"initiator":{"$ref":"#/components/schemas/_notifications.initiator","description":"Stores a JSON representation of the initiating user"},"initiatorId":{"description":"ID of the initiating user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The message template used to send the notification"},"messageTemplateId":{"description":"The `id` of the Message Template that serves as the basis for this notification: provides default values for the notification attributes and controls whether they can be overridden at send time. This field is required to send a notification.","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"metadata":{"description":"Optional values to be attached to the notification, for use by client software","example":null,"format":"json","type":"string"},"notificationProfile":{"$ref":"#/components/schemas/_notification-profiles.response","description":"The Notification Profile which configured channels for the notification"},"notificationSource":{"description":"The source of the notification. This field is populated on notification creation and is the recommended attribute for filtering.","enum":["fusion-delta-sync-error-event","fusion-server-red","area-of-interest-boundary-trigger","alarm","poly-panic-button","supervisor-battery-low","api","kontaktio-wearable-panic-button","badge-battery-low","windows","zoom-health-issue","ios","singlewire-wearable-panic-button","desktop-devices-from-windows","ios_secure","tracking-event-notification","conference-call","server-broadcast-unknown-type","area-of-interest","cucm-panic-button","confirmation-request-escalation-rule","cirrus_admin","integration","zoom-callaware","windows_v2","sis-loader-failed","dial-cast","night-bell","scenario-device-resolution-failed","rostering-push","standard-scenario","singlewire-wearable-panic-button-emergency","webex-calling","cirrus_admin_v2","inbound-rss","administration-console","fusion-server-yellow","m2m","android","gateway-disconnected","speakers-unregistered","ios_secure_v2","inbound-email","mobile-app","android_secure_v2","ca-routing-request","panic-button","android-device-secure","cisco-enterprise","ca-redirect","beacon-disconnected","icmobile-web","cisco-webex","potential-speaker-configuration-issue","token-expiration","unknown-source","license-violation","beacon-battery-low","inbound-cap","scheduled-notification","android_secure","bell-schedule","cisco-webex-bot-eviction","integration-scenario","supervisor-disconnected","scenario-launcher-failure","ios-device-secure","phone-cache-update-failed","singlewire-wearable-panic-button-help-needed","inbound-email-rule"],"example":"administration-console","type":"string"},"parentNotificationId":{"description":"The `id` of the notification from which this notification was sourced, such as in the case of follow-up notifications.","example":null,"format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"preferredLanguage":{"description":"The provider's preferred language at notification send time","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.","enum":["critical","normal"],"type":"string"},"progress":{"$ref":"#/components/schemas/_notification.progress.response","description":"Reports on the progress of the notificaiton"},"scenarioNotificationCreatedAt":{"description":"When the associated scenario notification, if any, was sent","example":null,"format":"date-time","type":"string"},"scenarioNotificationId":{"description":"The `id` of the notification's associated scenario notification, if any","example":null,"format":"uuid","type":"string"},"subject":{"description":"Subject (perhaps a summary version) of the notification, up to 255 characters long","example":"An intruder has been spotted on campus","maximum":255,"minimum":1,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsSpeed":{"description":"The rate at which the text was spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes were transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"type":"string"},"ttsVoiceId":{"description":"Records the Text-to-Speech Voice, if any, used when synthesizing audio for this notification","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"userIds":{"description":"A list of the `id`s of individual users to which this notification was sent, regardless of their distribution list memberships","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"users":{"description":"The users, if any, to which this notification was sent directly","items":{"$ref":"#/components/schemas/_message-templates.users"},"type":"array"},"validateTts":{"description":"Controls what validation to perform on the TTS text; the default is `none`","enum":["none","length"],"type":"string"},"voice":{"$ref":"#/components/schemas/_message-templates.voice"}},"required":["permissions","id"],"type":"object"},"_notifications.response":{"$ref":"#/components/schemas/_notifications.merged-response"},"_notifications_activities.user":{"properties":{"email":{"description":"User's email address","example":"johndoe@email.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John Doe","maximum":140,"type":"string"},"type":{"description":"Type of User","enum":["regular","anonymous","application","endpoint","support","rostered"],"example":"regular","type":"string"}},"type":"object"},"_notifications_devices.user":{"$ref":"#/components/schemas/_notifications_devices.user-merged"},"_notifications_devices.user-merged":{"properties":{"confirmationResponse":{"description":"The response to the confirmation request","example":null,"type":"string"},"confirmationResponseTimestamp":{"description":"When the confirmation request was responded to","example":null,"format":"date-time","type":"string"},"deletedAt":{"description":"When the user was deleted","example":null,"format":"date-time","type":"string"},"dynamicReplyText":{"description":"The text of the dynamic reply","example":null,"type":"string"},"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"historicalEndpointId":{"description":"The id of the historical endpoint","example":null,"format":"time-uuid","type":"string"},"loadSourceId":{"description":"The id of the load source","example":null,"format":"time-uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"notificationCreatedAt":{"description":"When the notification was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"notificationId":{"description":"The id of the Notification whose devices are being examined","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"time-uuid","type":"string"},"onpremDeviceIdentifier":{"description":"The id of the on-prem device","example":null,"type":"string"},"read":{"description":"Whether the notification was read","example":false,"type":"boolean"},"readTimestamp":{"description":"When the notification was read","example":null,"format":"date-time","type":"string"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"},"userId":{"description":"The id of the user","example":"1136f001-f0c5-11ed-bb50-91f70a19cc27","format":"time-uuid","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_placeholder-devices.building":{"properties":{"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_placeholder-devices.floor":{"properties":{"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_placeholder-devices.site":{"properties":{"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_placeholder-devices.zone":{"properties":{"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"isOutdoor":{"description":"Indicates whether the room/zone within a building is outdoor (e.g. courtyard)","type":"boolean"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_polycom-multicast-streams-post-request":{"properties":{"address":{"description":"Multicast address over which to send audio (multicast range 224.0.0.0-239.255.255.255)","example":"224.0.1.117","type":"string"},"channel":{"description":"Polycom PTT/paging channel (1-50)","example":1,"type":"integer"},"name":{"description":"The name of the Polycom Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"port":{"description":"Multicast port over which to send audio (1-65535)","example":5002,"type":"integer"}},"required":["name","address","port"],"type":"object"},"_polycom-multicast-streams-put-request":{"properties":{"address":{"description":"Multicast address over which to send audio (multicast range 224.0.0.0-239.255.255.255)","example":"224.0.1.117","type":"string"},"channel":{"description":"Polycom PTT/paging channel (1-50)","example":1,"type":"integer"},"name":{"description":"The name of the Polycom Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"port":{"description":"Multicast port over which to send audio (1-65535)","example":5002,"type":"integer"}},"type":"object"},"_polycom-multicast-streams-put-response":{"$ref":"#/components/schemas/_polycom-multicast-streams-put-response-merged"},"_polycom-multicast-streams-put-response-merged":{"properties":{"address":{"description":"Multicast address over which to send audio","example":"224.0.1.117","type":"string"},"channel":{"description":"Polycom PTT/paging channel (1-50)","example":1,"type":"integer"},"conflicts":{"description":"Any conflicts that exist for the multicast address assigned to this stream","example":[],"items":{"type":"string"},"type":"array"},"id":{"description":"The `id` assigned to this Polycom Multicast Stream","format":"uuid","type":"string"},"link":{"description":"The URL link to the GMS stream on the Fusion server","example":"https://172.20.146.37:8444/InformaCast/RESTServices/V1/Plugins/GenericMulticast/14971fea-b042-49f7-9332-246ecfde7268","type":"string"},"name":{"description":"The name of the Polycom Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"port":{"description":"Multicast port over which to send audio","example":5002,"type":"integer"},"type":{"description":"polycom (always polycom for polycom Multicast Streams)","example":"polycom","type":"string"}},"type":"object"},"_polycom-multicast-streams-response":{"properties":{"address":{"description":"Multicast address over which to send audio","example":"224.0.1.117","type":"string"},"channel":{"description":"Polycom PTT/paging channel (1-50)","example":1,"type":"integer"},"conflicts":{"description":"Any conflicts that exist for the multicast address assigned to this stream","example":[],"items":{"type":"string"},"type":"array"},"id":{"description":"The `id` assigned to this Polycom Multicast Stream","format":"uuid","type":"string"},"name":{"description":"The name of the Polycom Multicast Stream","example":"Yealink, Algo, Cisco MPP devices","type":"string"},"port":{"description":"Multicast port over which to send audio","example":5002,"type":"integer"},"type":{"description":"polycom (always polycom for polycom Multicast Streams)","example":"polycom","type":"string"}},"type":"object"},"_public-applications.merged-response":{"properties":{"applicationInfo":{"description":"The primary info describing the Application","example":{"configurationUrl":"https://smoke-co-safety.com/config","documentationUrl":"https://smoke-co-safety.com/user-guide","longDescription":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","privacyPolicyUrl":"https://smoke-co-safety.com/policy","shortDescription":"Triggers scenarios when smoke or CO is detected","supportEmail":"support@smoke-co-safety.com","supportUrl":"https://smoke-co-safety.com/support","termsOfUseUrl":"https://smoke-co-safety.com/terms-of-use"},"properties":{"configurationUrl":{"description":"The configuration url of the Application; required to publish","example":"https://smoke-co-safety.com/config","maxLength":1024,"type":"string"},"documentationUrl":{"description":"The documentation url of the Application; required to publish","example":"https://smoke-co-safety.com/user-guide","maxLength":1024,"type":"string"},"longDescription":{"description":"The long description of the Application","example":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","maxLength":2000,"type":"string"},"privacyPolicyUrl":{"description":"The privacy policy url of the Application; required to publish","example":"https://smoke-co-safety.com/policy","maxLength":1024,"type":"string"},"shortDescription":{"description":"The short description of the Application","example":"Triggers scenarios when smoke or CO is detected","maxLength":150,"type":"string"},"supportEmail":{"description":"The support email of the Application; required to publish","example":"support@smoke-co-safety.com","maxLength":1024,"type":"string"},"supportUrl":{"description":"The support url of the Application; required to publish","example":"https://smoke-co-safety.com/support","maxLength":1024,"type":"string"},"termsOfUseUrl":{"description":"The terms of use url of the Application; required to publish","example":"https://smoke-co-safety.com/terms-of-use","maxLength":1024,"type":"string"}},"type":"object"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"displayName":{"description":"The display name of the Application","example":"Smoke and CO Monitoring","maximum":140,"type":"string"},"icon":{"description":"The icon file for the Application","properties":{"contentType":{"description":"The MIME type of the image data","example":"image/png","type":"string"},"fileName":{"description":"The name with which the file was uploaded","example":"icon.png","type":"string"},"metadata":{"description":"Other information about the image, provided by the codec implemenatation","example":{"chroma":{"blackIsZero":true,"colorSpaceType":"RGB","numChannels":4},"compression":{"compressionTypeName":"deflate","lossless":true,"numProgressiveScans":1},"data":{"bitsPerSample":"8 8 8 8","planarConfiguration":"PixelInterleaved","sampleFormat":"Index"},"dimension":{"imageOrientation":"Normal","pixelAspectRatio":1},"height":512,"transparency":{"alpha":"nonpremultipled"},"width":512},"type":"object"},"size":{"description":"The size, in bytes, of the image data","example":12983,"type":"integer"}},"type":"object"},"id":{"description":"The ID of the Application","example":"09d7154e-f904-11ee-a7c4-2720dbaf6d93","format":"uuid","type":"string"},"name":{"description":"The name of the Application","example":"Smoke and CO Monitoring","maximum":50,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"primaryContact":{"description":"The primary contact for the Application; reserved for future use","example":{"email":"john.smith@smoke-co-safety.com","name":"John Smith","phoneNumber":"(555) 123-4567"},"properties":{"email":{"description":"The primary contact email for the Application","example":"john.smith@smoke-co-safety.com","maxLength":255,"type":"string"},"name":{"description":"The primary contact name for the Application","example":"John Smith","maxLength":140,"type":"string"},"phoneNumber":{"description":"The primary contact phone number for the Application","example":"(555) 123-4567","maxLength":64,"type":"string"}},"type":"object"},"publisherInfo":{"description":"The publisher info for the Application","example":{"companyName":"Smoke and CO Safety"},"properties":{"companyName":{"description":"The publisher's company name of the Application; required to publish","example":"Smoke and CO Safety","maxLength":255,"type":"string"}},"type":"object"},"scopes":{"description":"The scopes of the Application. Available scopes: `urn:singlewire:alarms:read`, `urn:singlewire:areas-of-interest:read`, `urn:singlewire:areas-of-interest:write`, `urn:singlewire:bell-schedules:read`, `urn:singlewire:bell-schedules:write`, `urn:singlewire:collaboration-groups:read`, `urn:singlewire:collaboration-groups:write`, `urn:singlewire:confirmation-requests:read`, `urn:singlewire:confirmation-requests:write`, `urn:singlewire:distribution-lists:read`, `urn:singlewire:distribution-lists:write`, `urn:singlewire:incident-plans:read`, `urn:singlewire:incident-plans:write`, `urn:singlewire:message-templates:read`, `urn:singlewire:message-templates:write`, `urn:singlewire:notification-profiles:read`, `urn:singlewire:notification-profiles:write`, `urn:singlewire:notifications:read`, `urn:singlewire:notifications:write`, `urn:singlewire:reports:read`, `urn:singlewire:ring-lists:read`, `urn:singlewire:ring-lists:write`, `urn:singlewire:scenario-notifications:write`, `urn:singlewire:scenarios:read`, `urn:singlewire:scenarios:write`, `urn:singlewire:session:read`, `urn:singlewire:session:write`, `urn:singlewire:site-roles:read`, `urn:singlewire:site-roles:write`, `urn:singlewire:sites:read`, `urn:singlewire:sites:write`, `urn:singlewire:tracking-events:read`, `urn:singlewire:users:read`, `urn:singlewire:users:write`","example":["urn:singlewire:message-templates:read","urn:singlewire:session:read"],"items":{"type":"string"},"maximum":64,"minimum":1,"type":"array","uniqueItems":true},"type":{"description":"The type of the Application: `GENERIC_CLIENT` and `NATIVE_CLIENT` Applications are intended for use by end users; `SERVER` Applications are intended for integration with other systems","enum":["GENERIC_CLIENT","NATIVE_CLIENT","SERVER"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"version":{"description":"The version of the Application","example":"0.0.1","maximum":12,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_public-applications.response":{"$ref":"#/components/schemas/_public-applications.merged-response"},"_ring-lists-entries-response":{"items":{"$ref":"#/components/schemas/_ring-lists-entries-response-merged"},"type":"array"},"_ring-lists-entries-response-merged":{"properties":{"deviceGroupIds":{"description":"The id(s) of the Device Groups attached to the ring list entry","items":{"example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","type":"string"},"type":"array","uniqueItems":true},"deviceGroups":{"description":"An array of objects which contain the id and name of a Device Group attached to the ring list entry","items":{"properties":{"id":{"description":"The id of the device group","example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","format":"uuid","type":"string"},"name":{"description":"The name of the device group","example":"All Staff Phones","type":"string"}},"type":"object"},"type":"array"},"distributionListIds":{"description":"The id(s) of the Distribution Lists attached to the ring list entry","items":{"example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","type":"string"},"type":"array","uniqueItems":true},"distributionLists":{"description":"The id(s) of the Distribution Lists attached to the ring list entry","items":{"properties":{"id":{"description":"The id of the distribution list","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"name":{"description":"The name of the distribution list","example":"Baristas","type":"string"}},"type":"object"},"type":"array"},"id":{"description":"The id of the ring list entry","example":"c2948326-eb26-11ec-896e-afaddc688f48","format":"uuid","type":"string"},"messageTemplate":{"description":"An object with the id and name of a Message Template attached to the ring list entry","properties":{"id":{"description":"The id of the message template","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The name of the message template","example":"Intruder Alert","type":"string"}},"type":"object"},"messageTemplateId":{"description":"The id of the Message Template attached to the ring list entry","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"time":{"description":"The time to broadcast the message template's audio to the recipients defined in the ring list entry. Must be in ISO 8601 hh:mm:ss format.","example":"08:00:00","type":"string"}},"type":"object"},"_ring-lists-response":{"$ref":"#/components/schemas/_ring-lists-response-merged"},"_ring-lists-response-merged":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"description":{"description":"An optional description for the ring list","example":"Schedule for Monday, Wednesday, and Friday","maximum":255,"type":"string"},"entries":{"$ref":"#/components/schemas/_ring-lists-entries-response"},"id":{"description":"Id of the activation group","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this ring list is globally shared","example":true,"type":"boolean"},"name":{"description":"A unique name for the ring list","example":"Half Day","maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["name"],"type":"object"},"_ring-lists.entries":{"properties":{"deviceGroupIds":{"description":"The id(s) of the Device Groups attached to the ring list entry","items":{"example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","type":"string"},"type":"array","uniqueItems":true},"distributionListIds":{"description":"The id(s) of the Distribution Lists attached to the ring list entry","items":{"example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","type":"string"},"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The id of the Message Template attached to the ring list entry","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"time":{"description":"The time to broadcast the message template's audio to the recipients defined in the ring list entry. Must be in ISO 8601 hh:mm:ss format.","example":"08:00:00","type":"string"}},"type":"object"},"_ring-lists_clone":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"description":{"description":"An optional description for the ring list","example":"Schedule for Monday, Wednesday, and Friday","maximum":255,"type":"string"},"entries":{"$ref":"#/components/schemas/_ring-lists-entries-response"},"id":{"description":"Id of the activation group","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this ring list is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the cloned ring list","example":"Half Day (Copy)","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["name"],"type":"object"},"_rostering-members.get":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of 'Unknown’.","example":"Reunification Zone","maximum":10000,"type":"string"},"memberUser":{"description":"A JSON object containing the user name, email and ID for the Rostering (Roll Call) list member","properties":{"email":{"description":"The email of the Roster (Roll Call) member","example":"jane.doe@domain.com","type":"string"},"id":{"description":"The ID of the Roster (Roll Call) member","format":"uuid","type":"string"},"name":{"description":"The name of the Roster (Roll Call) member","example":"Jane Doe","type":"string"}},"type":"object"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of 'Unknown’.","example":"Safe","maximum":10000,"type":"string"}},"required":["permissions","id"],"type":"object"},"_rostering-members.list":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of 'Unknown’.","example":"Reunification Zone","maximum":10000,"type":"string"},"memberUser":{"description":"A JSON object containing the user name, email and ID for the Rostering (Roll Call) list member","properties":{"email":{"description":"The email of the Roster (Roll Call) member","example":"jane.doe@domain.com","type":"string"},"id":{"description":"The ID of the Roster (Roll Call) member","format":"uuid","type":"string"},"name":{"description":"The name of the Roster (Roll Call) member","example":"Jane Doe","type":"string"}},"type":"object"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rosterMemberUsers":{"description":"List of roster members in POST response whose status and/or location were updated","items":{"properties":{"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of `Unknown`.","example":"Reunification Zone","type":"string"},"memberUser":{"properties":{"email":{"description":"The email of the Roster (Roll Call) member","example":"jane.doe@domain.com","type":"string"},"id":{"description":"The ID of the Roster (Roll Call) member","format":"uuid","type":"string"},"name":{"description":"The name of the Roster (Roll Call) member","example":"Jane Doe","type":"string"}},"type":"object"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of `Unknown`.","example":"Safe","type":"string"}},"type":"object"},"type":"array"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of 'Unknown’.","example":"Safe","maximum":10000,"type":"string"}},"required":["permissions","id"],"type":"object"},"_rostering-members.post":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rosterMemberUsers":{"description":"List of roster members in POST response whose status and/or location were updated","items":{"properties":{"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of `Unknown`.","example":"Reunification Zone","type":"string"},"memberUser":{"properties":{"email":{"description":"The email of the Roster (Roll Call) member","example":"jane.doe@domain.com","type":"string"},"id":{"description":"The ID of the Roster (Roll Call) member","format":"uuid","type":"string"},"name":{"description":"The name of the Roster (Roll Call) member","example":"Jane Doe","type":"string"}},"type":"object"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of `Unknown`.","example":"Safe","type":"string"}},"type":"object"},"type":"array"}},"required":["permissions","id"],"type":"object"},"_rostering-members.put":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of 'Unknown’.","example":"Reunification Zone","maximum":10000,"type":"string"},"memberUser":{"description":"A JSON object containing the user name, email and ID for the Rostering (Roll Call) list member","properties":{"email":{"description":"The email of the Roster (Roll Call) member","example":"jane.doe@domain.com","type":"string"},"id":{"description":"The ID of the Roster (Roll Call) member","format":"uuid","type":"string"},"name":{"description":"The name of the Roster (Roll Call) member","example":"Jane Doe","type":"string"}},"type":"object"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of 'Unknown’.","example":"Safe","maximum":10000,"type":"string"}},"required":["permissions","id"],"type":"object"},"_rostering.incident-plan":{"properties":{"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_rule-actions.action":{"description":"The JSON object that describes the action to be taken when a rule matches an event, currently this can only be a webhook","properties":{"type":{"description":"The type of Action to take.","enum":["webhook"],"type":"string"},"webhook":{"properties":{"authorization":{"properties":{"clientId":{"properties":{"encryption":{"description":"The encryption-state of this field.","enum":["encrypted","should-encrypt","none"],"type":"string"},"value":{"description":"The user ID for authenticating with the access token server.","type":"string"}},"required":["value","encryption"],"type":"object"},"clientSecret":{"properties":{"encryption":{"description":"The encryption-state of this field.","enum":["encrypted","should-encrypt","none"],"type":"string"},"value":{"description":"The secret for authenticating with the access token server.","type":"string"}},"required":["value","encryption"],"type":"object"},"credentialFormat":{"enum":["basicAuthHeader","body"],"type":"string"},"grantType":{"description":"The way in which an access token authenticates with the receiving application.","enum":["client_credentials","account_credentials"],"type":"string"},"headerPrefix":{"enum":["bearer"],"type":"string"},"request":{"properties":{"body":{"items":{"properties":{"encryption":{"description":"The encryption-state of this field.","enum":["encrypted","should-encrypt","none"],"example":"none","type":"string"},"key":{"description":"A form parameter key for the body of the authorization request.","example":"auth-body-key","type":"string"},"value":{"description":"A form parameter value for the body of the authorization request.","example":"{{scenarioNotification.location.building.addressLine1}}","type":"string"}},"type":"object"},"type":"array"},"headers":{"items":{"properties":{"encryption":{"description":"The encryption-state of this field.","enum":["encrypted","should-encrypt","none"],"example":"none","type":"string"},"key":{"description":"A header key for the authorization request.","example":"content-type","type":"string"},"value":{"description":"A header value for the authorization request.","example":"application/json","type":"string"}},"type":"object"},"type":"array"},"queryParams":{"items":{"properties":{"encryption":{"description":"The encryption-state of this field.","enum":["encrypted","should-encrypt","none"],"example":"none","type":"string"},"key":{"description":"A query parameter key for the authorization request.","example":"force","type":"string"},"value":{"description":"A query parameter value for the authorization request.","example":"true","type":"string"}},"type":"object"},"type":"array"},"url":{"description":"The URL of the OAuth2 server to use.","example":"https://example.com/","format":"uri","type":"string"}},"required":["url"],"type":"object"},"scope":{"description":"The authorization level granted to the access token.","example":"code","type":"string"},"type":{"enum":["oauth2"],"type":"string"}},"required":["type","request","clientId","grantType","clientSecret","credentialFormat"],"type":"object"},"body":{"properties":{"encryption":{"description":"The encryption-state of the body value.","enum":["encrypted","should-encrypt","none"],"type":"string"},"value":{"description":"The body of the webhook request.","example":"{\"key\": \"value\"}","type":"string"}},"required":["value","encryption"],"type":"object"},"expireAfter":{"description":"The time-limit for this webhook request. We will consider this webhook request to have expired, and stop retrying it, this many minutes after the initial event occurred.","example":90,"type":"integer"},"headers":{"items":{"properties":{"description":{"description":"A helpful description for this header.","example":"The custom header","type":"string"},"encryption":{"description":"The encryption-state of this header's value.","enum":["encrypted","should-encrypt","none"],"type":"string"},"key":{"description":"The HTTP header key.","example":"X-Custom-Header","type":"string"},"value":{"description":"The HTTP header value.","type":"string"}},"required":["key","value","encryption"],"type":"object"},"type":"array"},"method":{"description":"The HTTP Method to use with the request.","example":"POST","type":"string"},"queryParams":{"items":{"properties":{"description":{"description":"A helpful description for this query param.","example":"A query param","type":"string"},"encryption":{"description":"The encryption-state of this query param's value.","enum":["encrypted","should-encrypt","none"],"example":"none","type":"string"},"key":{"description":"The query param key.","example":"id","type":"string"},"value":{"description":"The query param value.","example":"{{scenarioNotification.id}}","type":"string"}},"required":["key","value","encryption"],"type":"object"},"type":"array"},"url":{"description":"The URL to make the webhook request to.","example":"https://singlewire.com","type":"string"}},"required":["url","method"],"type":"object"}},"required":["type","webhook"],"type":"object"},"_rule-actions.action-resources":{"description":"The linked resources to a rule action rule","items":{"properties":{"resource":{"properties":{"children":{"description":"The child resources linked to the parent resource","items":{"$ref":"#/components/schemas/_rule-actions.action-resources"},"type":"array"},"id":{"description":"The resource id","type":"string"},"name":{"description":"The resource name/description.","type":"string"}},"required":["id","name"],"type":"object"},"type":{"description":"The resource type","enum":["scenario"],"type":"string"}},"required":["type","resource"],"type":"object"},"type":"array"},"_rule-actions.rule-resources":{"description":"The linked resources to a rule action rule","items":{"properties":{"resource":{"properties":{"children":{"description":"The child resources linked to the parent resource","items":{"$ref":"#/components/schemas/_rule-actions.rule-resources"},"type":"array"},"id":{"description":"The resource id","type":"string"},"name":{"description":"The resource name/description.","type":"string"}},"required":["id","name"],"type":"object"},"type":{"description":"The resource type","enum":["scenario"],"type":"string"}},"required":["type","resource"],"type":"object"},"type":"array"},"_scenario-notification_initiation-device-response":{"properties":{"building":{"$ref":"#/components/schemas/_api-devices.building","description":"Contains the name, ID, and type of the building to which this API Device belongs"},"buildingId":{"description":"The ID of the Building the API Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"An arbitrary external identifier. Use a made-up name or a globally unique identifier (GUID) that you create. Avoid using IP or MAC addresses to preserve your users' privacy.","example":"vape-123","maximum":10000,"type":"string"},"facilityId":{"description":"The ID of the facility this API Device belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_api-devices.floor","description":"Contains the name and ID of the floor to which this API Device belongs"},"floorId":{"description":"The ID of the Floor the API Device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the API Device","format":"uuid","type":"string"},"metadata":{"description":"Represents the original JSON object sent in the POST request with any additional fields deemed relevant in the request","example":{"externalId":"vape-123","ipAddress":"111.111.11.1","macAddress":"abc:123:456:789"},"type":"object"},"name":{"description":"The name of the API Device","example":"Vape Detector","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"A GeoJSON Point representing the location to which the API Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list API Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly."},"site":{"$ref":"#/components/schemas/_api-devices.site","description":"Contains the name and ID of the site to which this API Device belongs"},"siteId":{"description":"The ID of the Site the API Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"zone":{"$ref":"#/components/schemas/_api-devices.zone","description":"Contains the name and ID of the zone to which this API Device belongs"},"zoneId":{"description":"The ID of the Zone the API Device is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_scenario-notifications-fields-response":{"properties":{"answer":{"description":"The answer that was provided upon initiating the scenario","example":"Yes everyone's ok","type":"string"},"name":{"description":"The question that will be asked upon initiating the scenario","example":"Is everyone ok?","type":"string"},"options":{"description":"Contains the list of options for a dropdown menu. Only necessary if the `type` is `option`. Up to 16 options, all of which must be at most 64 characters long.","items":{"example":null,"type":"string"},"type":"array"},"rank":{"description":"The order in which this field will be displayed in the scenario, where a lower number will occur before a higher number","example":1,"type":"integer"},"type":{"description":"The type of answer that should be provided, `option` gives a dropdown menu and `text` allows text entry","example":"text","type":"string"},"variable":{"description":"The variable that stores an answer which can be interpolated in scenario messages; 3-32 alphanumeric characters plus underscores, and it must start with a letter","example":"fieldVar1","type":"string"}},"type":"object"},"_scenario-notifications.base":{"$ref":"#/components/schemas/_scenario-notifications_base"},"_scenario-notifications.events":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"The `id` of the scenario notification event","example":"59100a18-e30c-11ee-a1b7-ef21590f97a8","format":"uuid","type":"string"},"notification":{"$ref":"#/components/schemas/_notifications.response","description":"The notification sent as part of the scenario notification send","type":"object"},"notificationId":{"description":"The notification `id` associated with the event","example":"49a61dd7-e30c-11ee-a1b7-7fb119479908","format":"uuid","type":"string"},"scenarioNotificationId":{"description":"The `id` of the scenario notification","example":"00a6d486-e30c-11ee-a1b7-fdb9ccc2b4c4","format":"uuid","type":"string"}},"type":"object"},"_scenario-notifications.fields":{"properties":{"answer":{"description":"The answer provided for this field","example":"Yes, everyone is safe","type":"string"},"fieldId":{"description":"The ID of the scenario field being answered","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","format":"uuid","type":"string"},"fieldVariable":{"description":"The variable name of the scenario field being answered (alternative to fieldId)","example":null,"type":"string"},"type":{"description":"The type of the field (e.g., 'text', 'option', 'site')","example":null,"type":"string"}},"type":"object"},"_scenario-notifications.location":{"properties":{"building":{"description":"The top level building","properties":{"id":{"description":"The id of the building","example":"b321c52b-064b-11ea-9265-f333e562b36b","format":"uuid","type":"string"},"name":{"description":"The name of the building","example":"Nougat Processing","type":"string"}},"type":"object"},"floor":{"description":"The top level floor","properties":{"id":{"description":"The id of the floor","example":"4321c52b-064b-11ea-9265-f333e562b36b","format":"uuid","type":"string"},"name":{"description":"The name of the floor","example":"Basement","type":"string"}},"type":"object"},"floorPlanImageWithBoundaryFile":{"description":"Describes the floor plan image with boundary file attached to the notification, if any","properties":{"contentType":{"description":"The MIME type of the image data","type":"string"},"fileName":{"description":"The name with which the file was uploaded","type":"string"},"metadata":{"description":"Other information about the image, provided by the codec implementation","type":"object"},"size":{"description":"The size, in bytes, of the image data","type":"integer"},"url":{"description":"A temporary Cloudfront URL to access this image by.","type":"string"}},"type":"object"},"site":{"description":"The top level site","properties":{"id":{"description":"The id of the site","example":"58fa0f0c-39fc-11e9-8c83-c128c081826b","format":"uuid","type":"string"},"name":{"description":"The name of the site","example":"Chocolate Factory","type":"string"}},"type":"object"},"zone":{"description":"The top level zone","properties":{"id":{"description":"The id of the zone","example":"38fa0f0c-39fc-11e9-8c83-c128c081826b","format":"uuid","type":"string"},"name":{"description":"The name of the zone","example":"Taste Testing Room","type":"string"}},"type":"object"}},"type":"object"},"_scenario-notifications.messages":{"properties":{"additionalDeviceRecipients":{"description":"A list of additional devices that should receive this scenario notification","items":{"properties":{"lookupValue":{"description":"The unique value used to reference this device","format":"uuid","type":"string"},"type":{"description":"The type of device being referenced","enum":["ip-speaker"],"type":"string"}},"type":"object"},"type":"array"},"areaOfInterestIds":{"description":"The list of ids for areas of interest that should be attached to this scenario notification","items":{"example":"8145ebd1-7a8b-11ee-bc97-098b09a637c2","format":"uuid","type":"string"},"type":"array"},"collaborationGroupIds":{"description":"The list of ids for collaboration groups that should be attached to this scenario notification","items":{"example":"1c56a19f-e312-11ee-a1b7-8bc08a664524","format":"uuid","type":"string"},"type":"array"},"deviceGroupIds":{"description":"The list of ids for device groups (fusion only) that should be attached to this scenario notification","items":{"example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","format":"uuid","type":"string"},"type":"array"},"distributionListIds":{"description":"The list of ids for distribution lists that should be attached to this scenario notification","items":{"example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"type":"array"},"messageId":{"description":"The `id` of the scenario notification with which the individual message is associated","example":"00a6d486-e30c-11ee-a1b7-fdb9ccc2b4c4","format":"uuid","type":"string"},"userIds":{"description":"The list of ids for users that should be attached to this scenario notification","items":{"example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"type":"array"}},"type":"object"},"_scenario-notifications_base":{"properties":{"callbackNumber":{"description":"An optional callback number that mobile panic buttons will supply for our emergency service provider","example":null,"maximum":10000,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"emergencyAction":{"description":"When created from an emergency scenario, indicates what action was or should be taken in response","enum":["contacting-emergency-services","open-dialer","none-need-emergency-building"],"example":null,"type":"string"},"event":{"description":"For integration scenarios, the raw event from the microservice","example":null,"format":"json","type":"string"},"events":{"description":"Pieces of notifications sent by a scenario that contain information which associates a notification and a scenario","items":{"$ref":"#/components/schemas/_scenario-notifications.events"},"type":"array"},"fields":{"items":{"$ref":"#/components/schemas/_scenario-notifications-fields-response"},"type":"array"},"floorPlanImageWithBoundaryFile":{"description":"Binary image data representing the floor plan image with the floor and possibly zone boundary drawn on it, optionally\n                                      including a CloudFront URL depending on the value of includeBinaryUrls.","format":"json","type":"string"},"id":{"description":"ID of the Scenario Notification","example":"00a6d486-e30c-11ee-a1b7-fdb9ccc2b4c4","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the incident this scenario's messages belongs to","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"initiationDevice":{"$ref":"#/components/schemas/_scenario-notification_initiation-device-response"},"initiationSource":{"description":"Details about the initiator of the scenario","format":"json","type":"string"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"For site-enabled scenarios, and integration scenarios with dynamic sites, the site, building, floor, and zone info"},"locationResolutionStrategy":{"description":"Sets how the final reported location of the scenario and site roles are determined. Items are checked in the order present and only items present are considered. Defaults to [\"location\", \"device\"].","example":["device","location"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messages":{"description":"The array of messages associated with a scenario. More information can be found [here](#tag--Scenario-Notifications)","example":null,"items":{"$ref":"#/components/schemas/_scenario-notifications.messages"},"type":"array"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"scenario":{"$ref":"#/components/schemas/_scenarios.response-base","description":"The scenario being sent as part of the scenario notification"},"scenarioId":{"description":"ID of the Scenario","example":"13242a86-7288-11ee-9ca9-cd3db9d6b864","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_scenarios.fields":{"properties":{"answer":{"description":"Saved response to the field’s variable (required when scenario is configured using hotkeys to send immediately)","example":null,"type":"string"},"name":{"description":"The question that will be asked upon initiating the scenario","example":"Is everyone ok?","type":"string"},"options":{"description":"Contains the list of options for a dropdown menu. Only necessary if the `type` is `option`. Up to 16 options, all of which must be at most 64 characters long.","items":{"example":null,"type":"string"},"type":"array"},"rank":{"description":"The order in which this field will be displayed in the scenario, where a lower number will occur before a higher number","example":1,"type":"integer"},"type":{"description":"The type of answer that should be provided, `option` gives a dropdown menu and `text` allows text entry","example":"text","type":"string"},"variable":{"description":"The variable that stores an answer which can be interpolated in scenario messages; 3-32 alphanumeric characters plus underscores, and it must start with a letter","example":"fieldVar1","type":"string"}},"type":"object"},"_scenarios.fields.response-merged":{"properties":{"answer":{"description":"Saved response to the field’s variable (required when scenario is configured using hotkeys to send immediately)","example":null,"type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"The scenario field's `id`","format":"uuid","type":"string"},"name":{"description":"The question that will be asked upon initiating the scenario","example":"Is everyone ok?","type":"string"},"options":{"description":"Contains the list of options for a dropdown menu. Only necessary if the `type` is `option`. Up to 16 options, all of which must be at most 64 characters long.","items":{"example":null,"type":"string"},"type":"array"},"rank":{"description":"The order in which this field will be displayed in the scenario, where a lower number will occur before a higher number","example":1,"type":"integer"},"scenarioId":{"description":"The scenario `id`","format":"uuid","type":"string"},"type":{"description":"The type of answer that should be provided, `option` gives a dropdown menu and `text` allows text entry","example":"text","type":"string"},"variable":{"description":"The variable that stores an answer which can be interpolated in scenario messages; 3-32 alphanumeric characters plus underscores, and it must start with a letter","example":"fieldVar1","type":"string"}},"type":"object"},"_scenarios.incident-plan":{"properties":{"id":{"description":"The ID of the Incident Plan","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_scenarios.instructions":{"description":"The list of user instructions to give the user direction on what to do after pressing the mobile panic button","example":{},"properties":{"step1":{"description":"The first step to follow","type":"string"},"step2":{"description":"The second step to follow","type":"string"},"step3":{"description":"The third step to follow","type":"string"},"step4":{"description":"The fourth step to follow","type":"string"},"step5":{"description":"The fifth step to follow","type":"string"}},"type":"object"},"_scenarios.messages":{"properties":{"body":{"description":"The body of the scenario message which can override the body of the associated message template. May include information wrapped in to interpolate variables from sites. Maximum of 10000 characters.","example":null,"type":"string"},"confirmation-request-id":{"description":"The `id` of the associated confirmation request","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"message-template-id":{"description":"The id of the message template associated with the message","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The name of the message. Used to differentiate between multiple messages attached to one scenario. Maximum of 140 characters.","example":"Live fire","type":"string"},"site-role-ids":{"description":"The list of ids for the site roles associated with a message. May only be included if a field of type `locationEnabled` is true.","items":{"example":null,"format":"uuid","type":"string"},"type":"array"},"subject":{"description":"The subject of the scenario message which can override the subject of the associated message template. May include information wrapped in to interpolate variables from sites. Maximum of 256 characters.","example":null,"type":"string"}},"required":["name","message-template-id"],"type":"object"},"_scenarios.messages.response-merged":{"properties":{"body":{"description":"The body of the scenario message which can override the body of the associated message template. May include information wrapped in to interpolate variables from sites. Maximum of 10000 characters.","example":null,"type":"string"},"confirmationRequest":{"description":"The information about the confirmation request used by the message","example":null,"type":"object"},"confirmationRequestId":{"description":"The `id` of the associated confirmation request","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"The scenario message's `id`","format":"uuid","type":"string"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The information about the message template used by the message","type":"object"},"messageTemplateId":{"description":"The id of the message template associated with the message","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The name of the message. Used to differentiate between multiple messages attached to one scenario. Maximum of 140 characters.","example":"Live fire","type":"string"},"scenarioId":{"description":"The scenario `id`","format":"uuid","type":"string"},"siteRoleIds":{"description":"The list of ids for the site roles associated with a message. May only be included if a field of type `locationEnabled` is true.","items":{"example":null,"format":"uuid","type":"string"},"type":"array"},"siteRoles":{"description":"The information about the site roles used by the message","items":{"$ref":"#/components/schemas/site-roles.response"},"type":"array"},"subject":{"description":"The subject of the scenario message which can override the subject of the associated message template. May include information wrapped in to interpolate variables from sites. Maximum of 256 characters.","example":null,"type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech","example":null,"type":"string"}},"required":["name","message-template-id"],"type":"object"},"_scenarios.response-base":{"$ref":"#/components/schemas/_scenarios.response-merged"},"_scenarios.response-merged":{"properties":{"backgroundColor":{"description":"The scenario’s background color. Should be a hexadecimal color value lead with a #.","example":"#33AA55","maximum":10000,"type":"string"},"confirmationPin":{"description":"Numeric pin user must enter to initiate scenario when `confirmationType` is `pin`.","example":null,"maximum":10000,"type":"string"},"confirmationType":{"description":"Informs the user interface how and if to require confirmation before initiating the scenario","enum":["none","pin","prompt"],"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"customConfirm":{"description":"Custom Hotkey sent confirmation message","example":null,"maximum":10000,"type":"string"},"defaultBuildingId":{"description":"For location-enabled scenarios, the building to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultFloorId":{"description":"For location-enabled scenarios, the floor to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultLocation":{"description":"The default location object represented by the various default IDs","example":{"building":{"emergency":false,"id":"b5b60a1e-8c2e-11f1-9c66-9f4b6a7c0d33","name":"West Wing"},"floor":{"id":"b5b6142a-8c2e-11f1-9c66-2b9d0e5a1f44","name":"2"},"site":{"id":"b5b5f6c8-8c2e-11f1-9c66-1f3a4d6f0b21","name":"HQ"},"zone":{"id":"b5b61e8c-8c2e-11f1-9c66-6d1c7f2b3a55","name":"Room 201"}},"properties":{"building":{"description":"The default building","properties":{"emergency":{"description":"Whether this building is an emergency building","type":"boolean"},"id":{"description":"The ID of the default building","format":"uuid","type":"string"},"name":{"description":"The name of the default building","type":"string"}},"type":"object"},"floor":{"description":"The default floor","properties":{"id":{"description":"The ID of the default floor","format":"uuid","type":"string"},"name":{"description":"The name of the default floor","type":"string"}},"type":"object"},"site":{"description":"The default site","properties":{"id":{"description":"The ID of the default site","format":"uuid","type":"string"},"name":{"description":"The name of the default site","type":"string"}},"type":"object"},"zone":{"description":"The default room/zone","properties":{"id":{"description":"The ID of the default room/zone","format":"uuid","type":"string"},"name":{"description":"The name of the default room/zone","type":"string"}},"type":"object"}},"readOnly":true,"type":"object"},"defaultSiteId":{"description":"For location-enabled scenarios, the site to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultZoneId":{"description":"For location-enabled scenarios, the zone to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"deleteRuleActions":{"description":"When true, will delete all scenario rule actions","type":"boolean"},"description":{"description":"An optional description for the scenario.","example":"A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.","maximum":140,"type":"string"},"emergency":{"description":"Indicates that emergency services should be contacted when this scenario is sent (The emergency calling feature must be enabled for your organization before you can send a `true` value here)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"eventType":{"description":"The type of scenario triggered events","enum":["none","zoom-emergency-call","red-button-click","blue-button-click","emergency","help-needed"],"type":"string"},"facilityId":{"description":"The ID of the facility this scenario belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"fields":{"items":{"$ref":"#/components/schemas/_scenarios.fields.response-merged"},"type":"array"},"icon":{"description":"The icon to be displayed on the scenario’s triggering button. NOTE: Some icons are only supported on mobile app versions above 4.34.","enum":["close-circle","hurricane","hospital","fire","id-badge","volcano","helmet","icicles","biohazard","block","alert-diamond","account-circle","leashed-dog","car","road-barrier","rock-slide","alert-circle","traffic","gun","ilug-evacuate","wheelchair","check","person-suspicious","eye","cloud","flag","navigation","security-camera","shield-security","sensor-on","flash","person-danger","shelter","radiation","briefcase","wind","emergency-light","ilug-secure","ship","bullhorn","local-airport","wifi-lock","thunderstorm","ilug-hold","snowflake","tornado","medical-vehicle","bell","sun","universal-access","info","avalanche","invert-colors","ilug-lockdown","smoke","unlock","truck","virus","heavy-rain","traffic-cone","ilug-shelter","wave","flare","police","flood","unverified","verified","gps-dot","lock","phone-prohibited","building-lockdown"],"example":"flash","type":"string"},"id":{"description":"ID of the Scenario","example":"13242a86-7288-11ee-9ca9-cd3db9d6b864","format":"uuid","type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_scenarios.incident-plan","description":"The Incident Plan from which the Incident was created."},"incidentPlanId":{"description":"The `id` of the incident plan that this scenario triggers<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"includeScenarioTypes":{"description":"A comma-delimited list of scenario types to include","type":"string"},"instructions":{"$ref":"#/components/schemas/_scenarios.instructions","description":"The list of user instructions to give the user direction on what to do after pressing the mobile panic button"},"isShared":{"description":"Denotes whether or not this scenario is globally shared","example":true,"type":"boolean"},"locationEnabled":{"description":"Does this scenario support the submission of a Location object when creating or simulating Scenario Notifications?","example":false,"type":"boolean"},"locationQuestionName":{"description":"The text to use when prompting a user to specify a location when sending a location-enabled scenario","example":null,"maximum":10000,"type":"string"},"locationVariable":{"deprecated":true,"description":"DEPRECATED: The variable in which backwards-compatibility-mode answers can specify the location site. This can be inherited from an old site question, but not set for new scenarios, and will go away entirely in a future release.","example":null,"type":"string"},"messages":{"items":{"$ref":"#/components/schemas/_scenarios.messages.response-merged"},"type":"array"},"name":{"description":"The scenario’s unique name","example":"Chemical Spill","maximum":70,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"phoneNumber":{"description":"The phone number the user can call after pressing the mobile panic button","example":null,"maximum":10000,"type":"string"},"secret":{"description":"Generated Secret to include in Scenario Launcher initiation URL for a Cisco panic button scenario","example":null,"type":"string"},"silentHotkey":{"description":"Is the Hotkey event Silent","type":"boolean"},"source":{"description":"The source of the scenario<br>_Specifying value 'kontaktio-wearable-panic-button' requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["custom","cisco-enterprise","poly-ucs","webex-calling","zoom","kontaktio-wearable-panic-button"],"type":"string"},"type":{"description":"The type of the scenario, either `standard`, `panic-button`, or `integration`<br>_Specifying value 'standard' requires 'Reach'._<br>_Specifying value 'panic-button' requires 'Respond'._<br>_Specifying value 'integration' requires 'Reach'._<br>_Specifying value 'singlewire-wearable-panic-button' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","example":"standard","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"winHotkeys":{"description":"Windows Hotkey combination","example":null,"maximum":10000,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_scenarios_clone":{"properties":{"backgroundColor":{"description":"The scenario’s background color. Should be a hexadecimal color value lead with a #.","example":"#33AA55","maximum":10000,"type":"string"},"confirmationPin":{"description":"Numeric pin user must enter to initiate scenario when `confirmationType` is `pin`.","example":null,"maximum":10000,"type":"string"},"confirmationType":{"description":"Informs the user interface how and if to require confirmation before initiating the scenario","enum":["none","pin","prompt"],"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"customConfirm":{"description":"Custom Hotkey sent confirmation message","example":null,"maximum":10000,"type":"string"},"defaultBuildingId":{"description":"For location-enabled scenarios, the building to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultFloorId":{"description":"For location-enabled scenarios, the floor to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultLocation":{"description":"The default location object represented by the various default IDs","example":{"building":{"emergency":false,"id":"b5b60a1e-8c2e-11f1-9c66-9f4b6a7c0d33","name":"West Wing"},"floor":{"id":"b5b6142a-8c2e-11f1-9c66-2b9d0e5a1f44","name":"2"},"site":{"id":"b5b5f6c8-8c2e-11f1-9c66-1f3a4d6f0b21","name":"HQ"},"zone":{"id":"b5b61e8c-8c2e-11f1-9c66-6d1c7f2b3a55","name":"Room 201"}},"properties":{"building":{"description":"The default building","properties":{"emergency":{"description":"Whether this building is an emergency building","type":"boolean"},"id":{"description":"The ID of the default building","format":"uuid","type":"string"},"name":{"description":"The name of the default building","type":"string"}},"type":"object"},"floor":{"description":"The default floor","properties":{"id":{"description":"The ID of the default floor","format":"uuid","type":"string"},"name":{"description":"The name of the default floor","type":"string"}},"type":"object"},"site":{"description":"The default site","properties":{"id":{"description":"The ID of the default site","format":"uuid","type":"string"},"name":{"description":"The name of the default site","type":"string"}},"type":"object"},"zone":{"description":"The default room/zone","properties":{"id":{"description":"The ID of the default room/zone","format":"uuid","type":"string"},"name":{"description":"The name of the default room/zone","type":"string"}},"type":"object"}},"readOnly":true,"type":"object"},"defaultSiteId":{"description":"For location-enabled scenarios, the site to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultZoneId":{"description":"For location-enabled scenarios, the zone to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"deleteRuleActions":{"description":"When true, will delete all scenario rule actions","type":"boolean"},"description":{"description":"An optional description for the scenario.","example":"A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.","maximum":140,"type":"string"},"emergency":{"description":"Indicates that emergency services should be contacted when this scenario is sent (The emergency calling feature must be enabled for your organization before you can send a `true` value here)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"eventType":{"description":"The type of scenario triggered events","enum":["none","zoom-emergency-call","red-button-click","blue-button-click","emergency","help-needed"],"type":"string"},"facilityId":{"description":"The ID of the facility this scenario belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"fields":{"items":{"$ref":"#/components/schemas/_scenarios.fields.response-merged"},"type":"array"},"icon":{"description":"The icon to be displayed on the scenario’s triggering button. NOTE: Some icons are only supported on mobile app versions above 4.34.","enum":["close-circle","hurricane","hospital","fire","id-badge","volcano","helmet","icicles","biohazard","block","alert-diamond","account-circle","leashed-dog","car","road-barrier","rock-slide","alert-circle","traffic","gun","ilug-evacuate","wheelchair","check","person-suspicious","eye","cloud","flag","navigation","security-camera","shield-security","sensor-on","flash","person-danger","shelter","radiation","briefcase","wind","emergency-light","ilug-secure","ship","bullhorn","local-airport","wifi-lock","thunderstorm","ilug-hold","snowflake","tornado","medical-vehicle","bell","sun","universal-access","info","avalanche","invert-colors","ilug-lockdown","smoke","unlock","truck","virus","heavy-rain","traffic-cone","ilug-shelter","wave","flare","police","flood","unverified","verified","gps-dot","lock","phone-prohibited","building-lockdown"],"example":"flash","type":"string"},"id":{"description":"ID of the Scenario","example":"13242a86-7288-11ee-9ca9-cd3db9d6b864","format":"uuid","type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_scenarios.incident-plan","description":"The Incident Plan from which the Incident was created."},"incidentPlanId":{"description":"The `id` of the incident plan that this scenario triggers<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"includeScenarioTypes":{"description":"A comma-delimited list of scenario types to include","type":"string"},"instructions":{"$ref":"#/components/schemas/_scenarios.instructions","description":"The list of user instructions to give the user direction on what to do after pressing the mobile panic button"},"isShared":{"description":"Denotes whether or not this scenario is globally shared","example":true,"type":"boolean"},"locationEnabled":{"description":"Does this scenario support the submission of a Location object when creating or simulating Scenario Notifications?","example":false,"type":"boolean"},"locationQuestionName":{"description":"The text to use when prompting a user to specify a location when sending a location-enabled scenario","example":null,"maximum":10000,"type":"string"},"locationVariable":{"deprecated":true,"description":"DEPRECATED: The variable in which backwards-compatibility-mode answers can specify the location site. This can be inherited from an old site question, but not set for new scenarios, and will go away entirely in a future release.","example":null,"type":"string"},"messages":{"items":{"$ref":"#/components/schemas/_scenarios.messages.response-merged"},"type":"array"},"name":{"description":"The name of the cloned scenario. The name will be the original scenario name with ` (Copy)` appended.","example":"Chemical Spill (Copy)","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"phoneNumber":{"description":"The phone number the user can call after pressing the mobile panic button","example":null,"maximum":10000,"type":"string"},"secret":{"description":"Generated Secret to include in Scenario Launcher initiation URL for a Cisco panic button scenario","example":null,"type":"string"},"silentHotkey":{"description":"Is the Hotkey event Silent","type":"boolean"},"source":{"description":"The source of the scenario<br>_Specifying value 'kontaktio-wearable-panic-button' requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["custom","cisco-enterprise","poly-ucs","webex-calling","zoom","kontaktio-wearable-panic-button"],"type":"string"},"type":{"description":"The type of the scenario, either `standard`, `panic-button`, or `integration`<br>_Specifying value 'standard' requires 'Reach'._<br>_Specifying value 'panic-button' requires 'Respond'._<br>_Specifying value 'integration' requires 'Reach'._<br>_Specifying value 'singlewire-wearable-panic-button' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","example":"standard","maximum":10000,"type":"string"},"winHotkeys":{"description":"Windows Hotkey combination","example":null,"maximum":10000,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_scheduled-notifications.device-groups":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"filters":{"$ref":"#/components/schemas/_device-groups.filters","description":"Defines rules to dynamically determine the Devices in this Device Group, combined as specified by filterType. If this Device Group is also filtered with baseDeviceGroupIds, these filters will further adjust the devices in the group."},"id":{"description":"The `id` of this specific device group, allowing it to be manipulated or retrieved individually.","example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","format":"uuid","type":"string"},"logicalExpression":{"description":"Specify a combination of rules based on the index of the rule and using logical operators 'and' and 'or' along with parentheses. Used when filterType is 'LOGICAL_EXPRESSION","example":"(1 AND 2)","maximum":10000,"type":"string"},"name":{"description":"Name of device group","example":"All Staff Phones","maximum":140,"type":"string"},"updatedAt":{"description":"When this resource was updated","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"}},"required":["name"],"type":"object"},"_scheduled-notifications.message-template":{"properties":{"alertTone":{"description":"Controls the sound played by a mobile phone or other compatible InformaCast Fusion Devices (i.e. desktops) when this message template is sent; `default` means to play the standard alert tone chosen by the device’s owner, `silent` means to play no tone, and other values choose specific named sounds","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"alertToneCustomizable":{"description":"Whether `alertTone` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIds":{"description":"The `id`s of the Areas of Interest to which notifications based on this template should be sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areaOfInterestIdsCustomizable":{"description":"Whether `areaOfInterestIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIdsDisplay":{"description":"Informs client applications whether the area of interest section should be displayed to senders when composing a notification based on this template, defaults to `show` when `areaOfInterestIds` are supplied","enum":["show","hide"],"example":"show","type":"string"},"audioCustomizable":{"description":"Whether `audio` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"audioDisplay":{"description":"Informs client applications whether the audio section should be displayed to senders when composing a notification based on this template, defaults to `show` when audio is present","enum":["show","hide"],"type":"string"},"body":{"description":"Default optional detailed body text, may be up to 10,000 characters long","example":"Please stay alert for updates as we track the intruder.","maximum":10000,"type":"string"},"bodyCustomizable":{"description":"Whether the body can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"cancelNotificationsType":{"description":"When a notification sent with this message template, determines what other notifications should be canceled: `none`, `all`, or `specific` (based on the message templates used for those other notifications)","enum":["all","none","specific"],"example":"none","type":"string"},"cancelNotificationsTypeDisplay":{"description":"Informs client applications whether the cancellation section should be displayed to senders when composing a notification based on this template","enum":["hide","show"],"type":"string"},"collaborationGroupIds":{"description":"The `id`s of Collaboration Groups which should, by default, receive notifications based on this template<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIdsCustomizable":{"description":"Whether `collaborationGroupIds` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"collaborationGroupIdsDisplay":{"description":"Informs client applications whether the collaboration groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `collaborationGroupIds` are supplied<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"confirmationRequestId":{"description":"The `id` of the attached Confirmation Request (this is what is actually stored; the expanded details about the Confirmation Request are returned as a convenience, to save clients from having to issue a separate request to look them up)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"confirmationRequestIdCustomizable":{"description":"Whether `confirmationRequestId` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"confirmationRequestIdDisplay":{"description":"Informs client applications whether the confirmation request section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["show","hide"],"type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"deviceGroupIds":{"description":"The `id`s of Device Groups which should, by default, receive notifications based on this template","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIdsCustomizable":{"description":"Whether `deviceGroupIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"deviceGroupIdsDisplay":{"description":"Informs client applications whether the device groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `deviceGroupIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"distributionListIds":{"description":"A list of `id`s of Distribution Lists which should, by default, receive notifications based on this template","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIdsCustomizable":{"description":"Whether `distributionListIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"distributionListIdsDisplay":{"description":"Informs client applications whether the distribution lists section should be displayed to senders when composing a notification based on this template, defaults to `show` when `distributionListIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"expiration":{"description":"The time in seconds the notification should expire from the time it is sent (a `null` value indicates the notification does not expire)","example":null,"type":"integer"},"expirationCustomizable":{"description":"Whether `expiration` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"expirationDisplay":{"description":"Informs client applications whether the expiration section should be displayed to senders when composing a notification based on this template, defaults to `show` when expiration is present","enum":["hide","show"],"type":"string"},"facilityId":{"description":"The ID of the facility this message template belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"followUp":{"description":"Denotes whether this template is usable for a follow-up: if set to `true`, this template can be used as the `messageTemplateId` when sending a new notification based on an existing notification in the notification history. If set to `false`, attempting to use this template in the same manner will result in an error. Message templates that support a follow-up are subject to different validation rules (i.e. all recipient fields can be set non-customizable in addition to specifying no recipients when saving the template)","type":"boolean"},"id":{"description":"ID of the message template","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageCustomizable":{"description":"Whether `image` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"imageDisplay":{"description":"Informs client applications whether the image section should be displayed to senders when composing a notification based on this template, defaults to `show` when image is present","enum":["show","hide"],"type":"string"},"imageMimeType":{"description":"The content type of the default image attached to the message template, if there is one (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/gif","image/jpg"],"type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_message-templates.incident-plan"},"incidentPlanId":{"description":"Specifies the Incident Plan to use for the incident created from this message template, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"incidentPlanIdCustomizable":{"description":"Whether `incidentPlanId`can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":true,"type":"boolean"},"incidentPlanIdDisplay":{"description":"Informs client applications whether the incident plan section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"isShared":{"description":"Denotes whether or not this message template is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the message template, up to 140 characters long","example":"Intruder Alert","maximum":140,"type":"string"},"notificationProfileId":{"description":"The `id` of the Notification Profile used to configure the notification; omitting this value will default it to the default Notification Profile","format":"uuid","type":"string"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.<br>_Specifying value ':critical' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["critical","normal"],"example":"critical","type":"string"},"subject":{"description":"Default subject for notifications based on the message template, up to 255 characters long","example":"An intruder has been spotted!","maximum":255,"type":"string"},"subjectCustomizable":{"description":"Whether the subject can be customized when sending notifications (defaults to `false`)","type":"boolean"},"syncId":{"description":"An ID used to identify this resource when synced to on-premise servers","format":"uuid","type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsCustomContentCustomizable":{"description":"Whether ttsCustomContent` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"ttsSpeed":{"description":"The rate at which the text will be spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes are transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"example":"subject-and-body","type":"string"},"ttsVoiceId":{"description":"Specifies the Text-to-Speech Voice to be used when synthesizing audio for this message template","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"ttsVoiceIdCustomizable":{"description":"Whether `ttsVoiceId` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"},"userIds":{"description":"The ids of individual Users who should, by default, receive notifications based on this template, regardless of their distribution list memberships.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"userIdsCustomizable":{"description":"Whether `userIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"userIdsDisplay":{"description":"Informs client applications whether the individual user section should be displayed to senders when composing a notification based on this template, defaults to `show` when `userIds` are supplied","enum":["show","hide"],"example":"show","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_scheduled-notifications_clone":{"properties":{"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"deviceGroupIds":{"description":"The device groups to use when sending the notification (if template permits)","example":["b1394e9e-becd-11ee-9ee1-85f73ec2ad1d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"disabled":{"description":"Whether the scheduler will process this schedule","example":false,"type":"boolean"},"distributionListIds":{"description":"The distribution lists to use when sending the notification (if template permits)","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The ID of the message template to use when this schedule is fired","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The name of the cloned scheduled notification. The name will be the original scheduled notification name with ` (Copy)` appended.","example":"Repeating Schedule (Copy)","type":"string"},"nextFireTime":{"description":"The next time the scheduled notification is scheduled to send","example":"2036-04-09T13:30:00.000Z","format":"date-time","type":"string"},"schedule":{"description":"A cron expression representing the notification schedule","example":"0 0/1 * 1/1 * ? *","maximum":256,"type":"string"},"timeZone":{"description":"The time zone of the cron expression","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"}},"required":["name","schedule","timeZone","messageTemplateId"],"type":"object"},"_site-roles.associated-sites":{"description":"The sites that have added this site role.","items":{"properties":{"id":{"description":"The id of the associated site","format":"uuid","type":"string"},"name":{"description":"The name of the associated site","example":"Headquarters","type":"string"}},"type":"object"},"type":"array"},"_sites-recipients_request":{"properties":{"areaOfInterestIds":{"description":"The list of `id`s for areas of interest in this group of site role recipients","items":{"format":"uuid","type":"string"},"type":"array"},"collaborationGroupIds":{"description":"The list of `id`s for collaboration groups in this group of site role recipients","items":{"format":"uuid","type":"string"},"type":"array"},"deviceGroupIds":{"description":"The list of `id`s for device groups (fusion only) in this group of site role recipients","items":{"format":"uuid","type":"string"},"type":"array"},"distributionListIds":{"description":"The list of `id`s for distribution lists in this group of site role recipients","items":{"format":"uuid","type":"string"},"type":"array"},"userIds":{"description":"The list of `id`s for users in this group of site role recipients","items":{"format":"uuid","type":"string"},"type":"array"}},"type":"object"},"_sites-recipients_response":{"properties":{"areaOfInterestIds":{"description":"IDs of Areas of Interest associated with this site through this site role","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areasOfInterest":{"description":"Areas of Interest associated with this site through this site role","items":{"$ref":"#/components/schemas/areas-of-interest.response"},"type":"array"},"collaborationGroupIds":{"description":"IDs of collaboration groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroups":{"description":"Collaboration groups associated with this site through this site role","example":[],"items":{"$ref":"#/components/schemas/_collaboration-groups-response"},"type":"array"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceGroupIds":{"description":"IDs of Device Groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroups":{"description":"Device groups associated with this site through this site role","example":[],"items":{"$ref":"#/components/schemas/_device-groups-response"},"type":"array"},"distributionListIds":{"description":"IDs of Distribution Lists associated with this site through this site role","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionLists":{"description":"Distribution lists associated with this site through this site role","items":{"$ref":"#/components/schemas/distribution-lists.response"},"type":"array"},"id":{"description":"ID of the site recipient record","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteId":{"description":"The `id` of the site with which the recipients are associated","format":"uuid","type":"string"},"siteRoleId":{"description":"ID of the site role to associate recipients with this site","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userIds":{"description":"IDs of Users associated with this site through this site role","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"users":{"description":"Users associated with this site through this site role","items":{"$ref":"#/components/schemas/users.response"},"type":"array"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_sites_response.base":{"$ref":"#/components/schemas/_sites_response_base"},"_sites_response_base":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this site belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"forceOnDelete":{"description":"Required when deleting a site with an associated facility","type":"boolean"},"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"latitude":{"description":"The latitude of the geographic average of any Site Buildings with known locations.","example":-115.13888632328836,"format":"double","type":"number"},"longitude":{"description":"The longitude of the geographic average of any Site Buildings with known locations.","example":36.17229051126489,"format":"double","type":"number"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"recipients":{"$ref":"#/components/schemas/_sites-recipients_response"},"sources":{"deprecated":true,"description":"Sources the site is associated with. Deprecated: Use Site Building External Sources instead.","format":"json","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_supervisors.building":{"properties":{"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_supervisors.floor":{"properties":{"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_supervisors.site":{"properties":{"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_supervisors.zone":{"properties":{"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"isOutdoor":{"description":"Indicates whether the room/zone within a building is outdoor (e.g. courtyard)","type":"boolean"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_tracking-events.confirmation-request":{"properties":{"id":{"description":"ID of the Confirmation Request","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"name":{"description":"The name of the confirmation request, which is the prompt that will be presented to the user.","example":"Are you safe?","maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_tracking-events.initiator":{"properties":{"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_tracking-events.scenario":{"properties":{"id":{"description":"ID of the Scenario","example":"13242a86-7288-11ee-9ca9-cd3db9d6b864","format":"uuid","type":"string"},"name":{"description":"The scenario’s unique name","example":"Chemical Spill","maximum":70,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_tracking-events_activities.device":{"description":"Details about the device which triggered the activity","properties":{"build":{"description":"The device's build","example":"1.0 (1)","type":"string"},"client":{"description":"The client associated with this device","example":"client1","type":"string"},"createdAt":{"description":"The time the device was created","example":"2024-03-14T18:10:10.023Z","format":"date-time","type":"string"},"deviceIdentifier":{"description":"The device's unique identifier","example":"dsAM8kdRTvCCwy-_vRSJeK:APA91bHtRF8nGMduCnp","type":"string"},"disabled":{"description":"Whether the device is disabled","example":false,"type":"boolean"},"endpointId":{"description":"The `endpointId` associated with this device","example":"null","format":"uuid","type":"string"},"icopId":{"description":"The `id` of the device used by the on-premises fusion server","example":"CiscoPhone-External:SEP000000880000","type":"string"},"id":{"description":"The device's ID","example":"de4d01a0-ba07-11ee-8034-b3ab1cc8100a","format":"uuid","type":"string"},"loadSourceId":{"description":"Load source identifier associated with the user device","type":"string"},"name":{"description":"The name of the device","example":"android-build: Google - sdk_gphone64_arm64","type":"string"},"os":{"description":"The device's operating system","example":"Android","type":"string"},"type":{"description":"The type of this device.","example":"Android","type":"string"},"userId":{"description":"The user's ID","example":"a4ed3d21-e16d-11ee-b65d-15dbb4f036bd","format":"uuid","type":"string"},"verified":{"description":"Whether the device has been verified","example":true,"type":"boolean"}},"type":"object"},"_tracking-events_activities.tracking-event":{"properties":{"deviceId":{"description":"ID of a device to track. Used when device initiates tracking event","example":"e950196f-6f12-47b9-9c5f-e0708d2bfa06","format":"uuid","type":"string"},"id":{"description":"ID of the Tracking Event","format":"uuid","type":"string"},"name":{"description":"Name of the Tracking Event","example":"Chemical Spill","maximum":140,"type":"string"},"notificationId":{"description":"ID of the notification when initiated by a confirmation response. Note that not supplying this value will not list this tracking event in the admin webapp.","format":"uuid","type":"string"},"state":{"description":"The state of this event","enum":["active","completed"],"example":"active","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_tracking-streams.user":{"properties":{"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_user-devices.user":{"properties":{"application":{"description":"Used only with users whose type is `application`; specifies the type of application","enum":["cloud-user-loader","mobile-plugin","desktop-registration","user-loader","custom","visitor-aware"],"example":null,"type":"string"},"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_users-scim-security-groups.response-base":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"User scim security group ID","example":"37e63af7-8031-11eb-a543-67f151212590","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"scimGroupIds":{"description":"The ids of the SCIM groups contributing this security group to the user","elements":{"format":"uuid","type":"string"},"example":["569a087f-8031-11eb-a543-2386a627ea5e","d80aa1de-8026-11eb-a543-53c5fa2d317e"],"type":"array"},"scimGroups":{"description":"The SCIM groups contributing this security group to the user","elements":{"properties":{"id":{"description":"SCIM group ID","format":"uuid","type":"string"},"name":{"description":"SCIM group name","type":"string"}},"type":"object"},"example":[{"id":"569a087f-8031-11eb-a543-2386a627ea5e","name":"SCIM Group 1"},{"id":"d80aa1de-8026-11eb-a543-53c5fa2d317e","name":"SCIM Group 2"}],"type":"array"},"securityGroup":{"description":"The security group assigned to the user","properties":{"id":{"description":"Security group ID","example":"37e63af7-8031-11eb-a543-67f151212590","format":"uuid","type":"string"},"name":{"description":"Security group name","example":"Substitute Teachers","type":"string"},"superGroup":{"description":"Indicates whether the security group has full administrative rights","example":false,"type":"boolean"}},"type":"object"},"userId":{"description":"User ID","format":"uuid","type":"string"}},"type":"object"},"_users.provider-idp":{"properties":{"enabled":{"description":"Whether the identity provider can be used","example":true,"type":"boolean"},"id":{"description":"The ID of the identity provider","example":"482d4a02-f171-11ee-a97c-3be0359d63d7","format":"uuid","type":"string"},"isDefault":{"description":"Whether this is the “default” Identity Provider. This means that Users with a `providerIdpId` value of `null` will use this Identity Provider for authentication","example":true,"type":"boolean"},"name":{"description":"The name of the Identity Provider","example":"Google","maximum":10000,"type":"string"},"selfRegistrationEnabled":{"description":"Whether this Identity Provider can be used for user self-registration; only a Cirrus IDP can have this value set to true","example":false,"type":"boolean"},"type":{"description":"The Identity Provider type","enum":["google","azure","cirrus-idp","adfs","dummy","singlewire-contractor"],"example":"google","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_users_notifications.merged-response":{"properties":{"abortedAt":{"description":"When this notification was canceled, will be `null` if the notification has not been canceled","example":null,"format":"date-time","type":"string"},"additionalDeviceRecipients":{"description":"An array of additional devices that should receive this notification.","example":[{"lookupValue":"12345","type":"ip-speaker"}],"items":{"format":"json","type":"string"},"maximum":100,"type":"array","uniqueItems":true},"alertTone":{"description":"The alert tone to use for mobile push notifications","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"areaOfInterestIds":{"description":"A list of the `id`s of all areas of interest to which this notification was sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"audio":{"description":"Length of the attached audio, in bytes, or zero if there is none","example":37830,"type":"integer"},"audioFiles":{"$ref":"#/components/schemas/_message-templates.audio-files","description":"Lists information about the audio files sent with this notification. Currently there will only be one, but future releases may support multiple audio streams with different purposes or quality"},"body":{"description":"Optional detailed body text for the notification, up to 10,000 characters long","example":"Warning: An intruder has been spotted on campus heading towards the recreation center. Please be advised and stay tuned for further updates. Have you seen the intruder?","maximum":10000,"type":"string"},"collaborationGroupIds":{"description":"A list of the `id`s of all outbound systems to which this notification was sent<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroups":{"description":"The outbound systems, if any, to which this notification was sent","items":{"$ref":"#/components/schemas/_message-templates.collaboration-groups"},"type":"array"},"confirmableCount":{"description":"The number of recipients who could pontentially send a confirmation response","example":42,"type":"integer"},"confirmationRequest":{"$ref":"#/components/schemas/_notifications.confirmation-request"},"confirmationRequestId":{"description":"The `id` of the confirmation request attached to the notification, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"confirmationResponse":{"description":"Recipient's response to the confirmation request","example":null,"type":"string"},"confirmationResponseTimestamp":{"description":"The time at which the confirmation response was made","example":null,"format":"date-time","type":"string"},"createdAt":{"description":"When this notification was sent","format":"date-time","type":"string"},"customVars":{"description":"Key/value pairs which can replace placeholders in the message template when the notification is created. The placeholder syntax in message templates will be of the form `{{varName}}`, where `varName` was one of the keys supplied here, and the corresponding value will be substituted into the notification.","example":{"affectedCounty":"Dane","affectedState":"Wisconsin"},"format":"json","type":"string"},"deviceGroupIds":{"description":"A list of the `id`s of all device groups to which this notification was sent","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"A list of the `id`s of all distribution lists to which this notification was sent","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"draft":{"description":"If omitted, an actual notification is sent. If supplied with the value `true`, a notification preview is created, showing who would have received it if it were actually sent, but no actual sending will occur. As a query filter can be set to `true` to exclusively list this user's draft notifications.","type":"boolean"},"dynamicReplyText":{"description":"The dynamic reply text the user recevied","example":null,"type":"string"},"expiresAt":{"description":"When this notification will (or did) expire, can be `null` for non-expiring notifications","example":null,"format":"date-time","type":"string"},"extensionSettingsOverrides":{"description":"Allows device extensions which were enabled in the notification profile to be disabled at send time: an object whose keys are device extension `id`s, and values are `{\"disabled\": true}`","example":{"0a466b30767011e5Ba6e765ae9d26291":{"disabled":true}},"format":"json","type":"string"},"facilityId":{"description":"The ID of the facility this notification belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"followUpAllowed":{"description":"Denotes whether this notification can be the source of a follow-up notification (using `followUpForNotificationId`); client applications can use this to enable buttons in a user interface","type":"boolean"},"followUpForNotificationId":{"description":"The `id` of the source notification for which a follow-up message is being sent (and which will define the recipients; `followUpAllowed` must be `true` for that notification). This value can refer to any eligible notification in the history and must be paired with `followUpForNotificationQuery` for recipient selection. The `messageTemplateId` provided must support follow-up (i.e. its `followUp` value must be true)","format":"uuid","type":"string"},"followUpForNotificationQuery":{"description":"The query used at send time to create the list of recipients based on the `followUpForNotificationId` also supplied; the value uses the same search query syntax used for `q` filters (i.e. `read:true` would extract all recipients that read the original notification); recipients determined from this query are merged with any configured on the message template","example":"read:true","maximum":10000,"type":"string"},"id":{"description":"ID of the notification","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"image":{"description":"Length of the attached image, in bytes, or zero if there is none","example":11472,"type":"integer"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageFiles":{"$ref":"#/components/schemas/_message-templates.image-files","description":"Lists information about the image files sent with this notification. Currently there will only be one, but future releases may support multiple images with different purposes or quality"},"imageMimeType":{"description":"The format in which the image data will be delivered, if there is an image associated with this notification (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/jpg","image/gif"],"type":"string"},"incidentId":{"description":"The `id` of the incident this notification started or belongs to","format":"uuid","type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_notifications.incident-plan"},"incidentPlanId":{"description":"The `id` of the incident plan, if any, used to create an incident when sending this notification<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"initiatingEndpointId":{"description":"The `id` of the fusion server the broadcast came from, if it was initiated on-prem","example":null,"format":"uuid","type":"string"},"initiationBroadcast":{"$ref":"#/components/schemas/_notifications.initiation-broadcast","description":"The JSON representation of the on-prem broadcast from which this notification is sourced, if any"},"initiationDetails":{"$ref":"#/components/schemas/_notifications.initiation-details","description":"Details about why and how a notification was initiated, when relevant"},"initiationSourceClientId":{"description":"The client type for vanilla notifications: `iOS Device Secure`, `Android Device Secure`, or `IcMobile Web`","example":null,"type":"string"},"initiationSourceDescription":{"description":"The name or description of the resource that triggered this notification","example":null,"type":"string"},"initiationSourceId":{"description":"The `id` of the resource that initiated the notification, if not a user","example":null,"type":"string"},"initiationSourceType":{"description":"Source type of the notification, unique to each type","example":null,"type":"string"},"initiator":{"$ref":"#/components/schemas/_notifications.initiator","description":"Stores a JSON representation of the initiating user"},"initiatorId":{"description":"ID of the initiating user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"messageTemplateId":{"description":"The `id` of the Message Template that serves as the basis for this notification: provides default values for the notification attributes and controls whether they can be overridden at send time. This field is required to send a notification.","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"metadata":{"description":"Optional values to be attached to the notification, for use by client software","example":null,"format":"json","type":"string"},"notificationSource":{"description":"The source of the notification. This field is populated on notification creation and is the recommended attribute for filtering.","enum":["fusion-delta-sync-error-event","fusion-server-red","area-of-interest-boundary-trigger","alarm","poly-panic-button","supervisor-battery-low","api","kontaktio-wearable-panic-button","badge-battery-low","windows","zoom-health-issue","ios","singlewire-wearable-panic-button","desktop-devices-from-windows","ios_secure","tracking-event-notification","conference-call","server-broadcast-unknown-type","area-of-interest","cucm-panic-button","confirmation-request-escalation-rule","cirrus_admin","integration","zoom-callaware","windows_v2","sis-loader-failed","dial-cast","night-bell","scenario-device-resolution-failed","rostering-push","standard-scenario","singlewire-wearable-panic-button-emergency","webex-calling","cirrus_admin_v2","inbound-rss","administration-console","fusion-server-yellow","m2m","android","gateway-disconnected","speakers-unregistered","ios_secure_v2","inbound-email","mobile-app","android_secure_v2","ca-routing-request","panic-button","android-device-secure","cisco-enterprise","ca-redirect","beacon-disconnected","icmobile-web","cisco-webex","potential-speaker-configuration-issue","token-expiration","unknown-source","license-violation","beacon-battery-low","inbound-cap","scheduled-notification","android_secure","bell-schedule","cisco-webex-bot-eviction","integration-scenario","supervisor-disconnected","scenario-launcher-failure","ios-device-secure","phone-cache-update-failed","singlewire-wearable-panic-button-help-needed","inbound-email-rule"],"example":"administration-console","type":"string"},"parentNotificationId":{"description":"The `id` of the notification from which this notification was sourced, such as in the case of follow-up notifications.","example":null,"format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"preferredLanguage":{"description":"The provider's preferred language at notification send time","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.","enum":["critical","normal"],"type":"string"},"readTimestamp":{"description":"When the notification was read; `null` if unread","example":null,"format":"date-time","type":"string"},"scenarioNotificationCreatedAt":{"description":"When the associated scenario notification, if any, was sent","example":null,"format":"date-time","type":"string"},"scenarioNotificationId":{"description":"The `id` of the notification's associated scenario notification, if any","example":null,"format":"uuid","type":"string"},"subject":{"description":"Subject (perhaps a summary version) of the notification, up to 255 characters long","example":"An intruder has been spotted on campus","maximum":255,"minimum":1,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsSpeed":{"description":"The rate at which the text was spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes were transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"type":"string"},"ttsVoiceId":{"description":"Records the Text-to-Speech Voice, if any, used when synthesizing audio for this notification","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"userId":{"description":"The `id` of the user that received this notification","format":"uuid","type":"string"},"userIds":{"description":"A list of the `id`s of individual users to which this notification was sent, regardless of their distribution list memberships","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"validateTts":{"description":"Controls what validation to perform on the TTS text; the default is `none`","enum":["none","length"],"type":"string"}},"required":["permissions","id"],"type":"object"},"_users_notifications.response":{"$ref":"#/components/schemas/_users_notifications.merged-response"},"_users_scim-subscriptions.distribution-list":{"properties":{"id":{"description":"Distribution List ID","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_users_security-groups.response-base":{"$ref":"#/components/schemas/_users_security-groups.response-merged"},"_users_security-groups.response-merged":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this user security group belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"`id` of this user security group association","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityGroup":{"$ref":"#/components/schemas/security-groups.response"},"securityGroupId":{"description":"Security Group `id`","format":"uuid","type":"string"},"userId":{"description":"User `id`","format":"uuid","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_users_subscriptions.distribution_list":{"properties":{"campaign":{"description":"Campaign<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":{"defaultNotificationDays":5,"inactiveMessage":"The competition is over","subscribeTag":"#coffeetime","welcomeMessage":"Welcome to the World Barista Championship"},"properties":{"defaultNotificationDays":{"description":"This number of days will be suggested to users on its self-service registration page as a good number of days to subscribe; they can override it if they desire. An empty value means the subscription never expires.","example":5,"type":"integer"},"enrollmentEndDate":{"description":"This value can be specified to establish a date after which self-service registrations will no longer be accepted. An empty value means the campaign is open-ended and will accept registrations indefinitely.","example":"2026-08-01T00:00:00.000Z","format":"date-time","type":"string"},"inactiveMessage":{"description":"The text to display on the registration page after the enrollment end date to explain why registration is no longer available.","example":"The competition is over","maxLength":10000,"type":"string"},"subscribeTag":{"description":"Users will be able to join this campaign by sending this hashtag to: (608) 470-6356 (local; also valid internationally)","example":"#coffeetime","maxLength":30,"type":"string"},"url":{"description":"Campaign's enrollment url","example":"http://admin.icmobile.singlewire.com/anonymous/036347b0-41f1-11e5-ba5e-aa951d8d7a3b/list/59489180-41f1-11e5-aa08-aa951d8d7a3b","readOnly":true,"type":"string"},"welcomeMessage":{"description":"The text to display on its registration page to explain the purpose of the distribution list to members of the general public who would like to sign up to receive notifications.","example":"Welcome to the World Barista Championship","maxLength":10000,"type":"string"}},"type":"object"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this distribution list belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"Distribution List ID","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this distribution list is globally shared","example":true,"type":"boolean"},"isSubscribable":{"description":"Marks the distribution list as subscribable for self service","example":true,"type":"boolean"},"loadSourceId":{"description":"Load Definition Id for associating with a SIS loader","format":"uuid","type":"string"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"},"syncId":{"description":"The current sync ID of the distribution list, which Fusion servers can use to verify their data is up to date.","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab:1613413676919","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_wearable-installation-reports.building":{"properties":{"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_wearable-installation-reports.floor":{"properties":{"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_wearable-installation-reports.result":{"properties":{"beacons":{"description":"The beacons associated with this result","items":{"properties":{"id":{"description":"The ID of the beacon","example":"21f82173-216c-11f1-ab90-77f365bf64d4","format":"uuid","type":"string"},"location":{"description":"The location of the beacon","properties":{"buildingId":{"description":"The ID of the building","example":"2101170e-216c-11f1-ab90-835e7be9f5d2","format":"uuid","type":"string"},"floorId":{"description":"The ID of the floor","example":"210bec80-216c-11f1-ab90-83e0ee8470ff","format":"uuid","type":"string"},"pinnedLocation":{"description":"The pinned GeoJSON point location of the beacon","properties":{"coordinates":{"description":"GeoJSON coordinates [longitude, latitude]","example":[-89.50368555,43.114856991],"items":{"type":"number"},"type":"array"},"type":{"description":"GeoJSON geometry type","example":"Point","type":"string"}},"type":"object"},"siteId":{"description":"The ID of the site","example":"20f900bc-216c-11f1-ab90-b914f137b416","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the zone","example":"212c1eb2-216c-11f1-ab90-9b20828b6889","format":"uuid","type":"string"}},"type":"object"},"macAddress":{"description":"The MAC address of the beacon","example":"aabbccddeef1","type":"string"}},"type":"object"},"type":"array"},"createdAt":{"description":"The time the result was created","example":"2026-03-16T12:12:53.665565-07:00","format":"date-time","type":"string"},"id":{"description":"The ID of the result","example":"220c6cd1-216c-11f1-ab90-c1829bc7a25f","format":"uuid","type":"string"},"location":{"description":"The computed location of the result","properties":{"buildingId":{"description":"The ID of the building","example":"2101170e-216c-11f1-ab90-835e7be9f5d2","format":"uuid","type":"string"},"floorId":{"description":"The ID of the floor","example":"210bec80-216c-11f1-ab90-83e0ee8470ff","format":"uuid","type":"string"},"position":{"description":"The GeoJSON Feature representing the computed position","properties":{"geometry":{"description":"The GeoJSON geometry","properties":{"coordinates":{"description":"GeoJSON coordinates [longitude, latitude]","example":[-89.50368555,43.114856991],"items":{"type":"number"},"type":"array"},"type":{"description":"GeoJSON geometry type","example":"Point","type":"string"}},"type":"object"},"properties":{"description":"Additional properties of the position","properties":{"beacons":{"description":"The beacons used to compute this position","items":{"properties":{"lookupMode":{"description":"The mode used to look up the beacon","example":"MAC_ADDRESS","type":"string"},"macAddress":{"description":"The MAC address of the beacon","example":"aabbccddeef1","type":"string"},"rssi":{"description":"The received signal strength indicator","example":-59,"type":"integer"}},"type":"object"},"type":"array"}},"type":"object"},"type":{"description":"GeoJSON object type","example":"Feature","type":"string"}},"type":"object"},"siteId":{"description":"The ID of the site","example":"20f900bc-216c-11f1-ab90-b914f137b416","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the zone","example":"21314ed4-216c-11f1-ab90-ad7f3f6ea900","format":"uuid","type":"string"}},"type":"object"}},"type":"object"},"_wearable-installation-reports.site":{"properties":{"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_wearable-installation-reports.user":{"properties":{"application":{"description":"Used only with users whose type is `application`; specifies the type of application","enum":["cloud-user-loader","mobile-plugin","desktop-registration","user-loader","custom","visitor-aware"],"example":null,"type":"string"},"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"_wearable-installation-reports.zone":{"properties":{"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_webex-calling-devices.building":{"properties":{"externalBuildingId":{"description":"The `id` of the external building","format":"uuid","type":"string"},"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"isEmergency":{"description":"Whether the building is an emergency building","example":false,"type":"boolean"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_webex-calling-devices.floor":{"properties":{"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_webex-calling-devices.response":{"properties":{"building":{"$ref":"#/components/schemas/_webex-calling-devices.building","description":"Contains the name, ID, and external ID of the building to which this Webex Calling Device belongs"},"buildingId":{"description":"The ID of the building the Webex Calling Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"The ID of the Webex Calling Device in Webex","example":"Y2lzY29zcGFyazovL3VybjpURUFN","type":"string"},"floor":{"$ref":"#/components/schemas/_webex-calling-devices.floor","description":"Contains the name and ID of the floor to which this Webex Calling Device belongs"},"floorId":{"description":"The ID of the floor the Webex Calling Device is assigned to","example":"fe1fe388-d23c-418d-b76d-46ce682c24ff","format":"uuid","type":"string"},"id":{"description":"The ID of the Webex Calling Device","format":"uuid","type":"string"},"ipAddress":{"description":"The most recent IP address this device is assigned to, via Webex Control Hub","example":"123.123.123.123","type":"string"},"macAddress":{"description":"The MAC address of the Webex Calling Device","example":"11:22:33:44:AA:FF","type":"string"},"model":{"description":"The model of the Webex Calling Device","example":"Cisco 9871","type":"string"},"name":{"description":"The name of the Webex Calling Device","example":"The Bat Phone","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"serialNumber":{"description":"The serial number of the Webex Calling Device","example":"GOC1923NVVN","type":"string"},"site":{"$ref":"#/components/schemas/_webex-calling-devices.site","description":"Contains the name, ID, and external ID of the site to which this Webex Calling Device belongs"},"siteId":{"description":"The ID of the site the Webex Calling Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"webexLocationId":{"description":"The ID of the Webex Location the device is in","example":"Z2lzY29zcGFyazovL3VpURUFN","type":"string"},"zone":{"$ref":"#/components/schemas/_webex-calling-devices.zone","description":"Contains the name and ID of the zone to which this Webex Calling Device belongs"},"zoneId":{"description":"The ID of the zone the Webex Calling Device is assigned to","example":"68b84008-ba58-471e-aa29-e8acb725644c","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_webex-calling-devices.site":{"properties":{"externalSiteId":{"description":"The `id` of the external site","format":"uuid","type":"string"},"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_webex-calling-devices.zone":{"properties":{"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_webex-location-rules.building":{"properties":{"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"_webex-location-rules.site":{"properties":{"id":{"description":"ID of the Site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"activation-groups.post-request":{"properties":{"additionIds":{"description":"The specific Device `icop_ids` that are in the Group regardless of filters and other Activation Groups. This is either a MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-388382:SEP001D45E95D12"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"endpointIds":{"description":"The endpoint(s) to which devices in this activation group should get sent.","example":["28a92caf-3d37-11e6-834a-431f5104df9d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusionIds":{"description":"The specific device `icop_ids` that are excluded from the Activation Group regardless of filters and other Activation Groups. This is either a MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-388382:SEP001D45E95D13"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Activation Group are combined.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"OR","type":"string"},"filters":{"$ref":"#/components/schemas/_activation-groups.filters","description":"Defines rules to dynamically determine the Devices in this Activation Group, combined as specified by `filterType`."},"logicalExpression":{"description":"Logical Expression when using LOGICAL_EXPRESSION filterType","maximum":10000,"type":"string"},"name":{"description":"Name of activation group","example":"Primary","maximum":10000,"type":"string"},"priority":{"description":"Unique ranking specifies the order in which activation groups are evaluated (lower number = higher priority). If a device falls in more than one group, the lower numbered priority wins.","example":1,"type":"integer"}},"required":["name","endpointIds","priority"],"type":"object"},"activation-groups.put-request":{"properties":{"additionIds":{"description":"The specific Device `icop_ids` that are in the Group regardless of filters and other Activation Groups. This is either a MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-388382:SEP001D45E95D12"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"endpointIds":{"description":"The endpoint(s) to which devices in this activation group should get sent.","example":["28a92caf-3d37-11e6-834a-431f5104df9d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusionIds":{"description":"The specific device `icop_ids` that are excluded from the Activation Group regardless of filters and other Activation Groups. This is either a MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-388382:SEP001D45E95D13"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Activation Group are combined.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"OR","type":"string"},"filters":{"$ref":"#/components/schemas/_activation-groups.filters","description":"Defines rules to dynamically determine the Devices in this Activation Group, combined as specified by `filterType`."},"logicalExpression":{"description":"Logical Expression when using LOGICAL_EXPRESSION filterType","maximum":10000,"type":"string"},"name":{"description":"Name of activation group","example":"Primary","maximum":10000,"type":"string"},"priority":{"description":"Unique ranking specifies the order in which activation groups are evaluated (lower number = higher priority). If a device falls in more than one group, the lower numbered priority wins.","example":1,"type":"integer"}},"required":[],"type":"object"},"active-callaware-calls.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"details":{"description":"info about the call","format":"json","type":"string"},"endpointId":{"description":"id of the endpoint the call is on","format":"uuid","type":"string"},"id":{"description":"id of endpoint activity","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"startTime":{"description":"time that the call started","format":"date-time","type":"string"},"type":{"description":"Type that triggered the call","enum":["endpoint-rule","callaware-rule"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"alarms.put-request":{"properties":{"alarmThresholds":{"$ref":"#/components/schemas/_alarms.alarm-thresholds","description":"The number of devices that can unregister before we send an alarm notification"},"muted":{"description":"Whether the alarm will send notifications when its state changes","example":false,"type":"boolean"}},"required":[],"type":"object"},"alarms.response":{"properties":{"alarmThresholds":{"$ref":"#/components/schemas/_alarms.alarm-thresholds","description":"The number of devices that can unregister before we send an alarm notification"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID of the Alarm","example":"e11d2245-b583-11ee-9321-adaccf0833ab","format":"uuid","type":"string"},"muted":{"description":"Whether the alarm will send notifications when its state changes","example":false,"type":"boolean"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"status":{"description":"The status of the alarm, where ACTIVE indicates the alarm has detected a problem in the system","enum":["OK","ACTIVE"],"example":"OK","type":"string"},"type":{"description":"The type of alarm associated with the resource","example":"fusion_server_red","type":"string"},"updatedAt":{"description":"When this alarm was last updated","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"alarms_actions.post-request":{"properties":{"areaOfInterestIds":{"description":"IDs of Areas of Interest to send to, optionally. Will be combined with those attached to the message template. Requires MT areas of interest to be customizable.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIds":{"description":"IDs of Collaboration Groups to send to, optionally. Will be combined with those attached to the message template. Requires MT collaboration groups to be customizable.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIds":{"description":"IDs of Device Groups to send to, optionally. Will be combined with those attached to the message template. Requires MT device groups to be customizable. Only available in fusion.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"IDs of Distribution Lists to send to, optionally. Will be combined with those attached to the message template. Requires MT distribution lists to be customizable.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The id of the message template with which the alarm action is associated. If left empty, a blank message template will be used and we’ll notify the admin distribution list. When blank, custom recipient ids are not allowed.","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"triggerOnStatus":{"description":"The status of the alarm for which the alarm action should be sent.","enum":["OK","ACTIVE"],"example":"ACTIVE","type":"string"},"userIds":{"description":"IDs of Users to send to, optionally. Will be combined with those attached to the message template. Requires MT users to be customizable.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["triggerOnStatus"],"type":"object"},"alarms_actions.put-request":{"properties":{"areaOfInterestIds":{"description":"IDs of Areas of Interest to send to, optionally. Will be combined with those attached to the message template. Requires MT areas of interest to be customizable.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIds":{"description":"IDs of Collaboration Groups to send to, optionally. Will be combined with those attached to the message template. Requires MT collaboration groups to be customizable.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIds":{"description":"IDs of Device Groups to send to, optionally. Will be combined with those attached to the message template. Requires MT device groups to be customizable. Only available in fusion.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"IDs of Distribution Lists to send to, optionally. Will be combined with those attached to the message template. Requires MT distribution lists to be customizable.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The id of the message template with which the alarm action is associated. If left empty, a blank message template will be used and we’ll notify the admin distribution list. When blank, custom recipient ids are not allowed.","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"triggerOnStatus":{"description":"The status of the alarm for which the alarm action should be sent.","enum":["OK","ACTIVE"],"example":"ACTIVE","type":"string"},"userIds":{"description":"IDs of Users to send to, optionally. Will be combined with those attached to the message template. Requires MT users to be customizable.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"alarms_actions.response":{"properties":{"areaOfInterestIds":{"description":"IDs of Areas of Interest to send to, optionally. Will be combined with those attached to the message template. Requires MT areas of interest to be customizable.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areasOfInterest":{"$ref":"#/components/schemas/areas-of-interest.response","description":"The areas of interest associated with this alarm action","example":[]},"collaborationGroupIds":{"description":"IDs of Collaboration Groups to send to, optionally. Will be combined with those attached to the message template. Requires MT collaboration groups to be customizable.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroups":{"$ref":"#/components/schemas/_collaboration-groups-response","description":"The collaboration groups associated with this alarm action<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":[]},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceGroup":{"$ref":"#/components/schemas/_device-groups-response","description":"The device groups associated with this alarm action","example":[]},"deviceGroupIds":{"description":"IDs of Device Groups to send to, optionally. Will be combined with those attached to the message template. Requires MT device groups to be customizable. Only available in fusion.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionList":{"$ref":"#/components/schemas/distribution-lists.response","description":"The distribution lists associated with this alarm action","example":[]},"distributionListIds":{"description":"IDs of Distribution Lists to send to, optionally. Will be combined with those attached to the message template. Requires MT distribution lists to be customizable.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"id":{"description":"The id of the action subresource","format":"uuid","type":"string"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The message template associated with this alarm action"},"messageTemplateId":{"description":"The id of the message template with which the alarm action is associated. If left empty, a blank message template will be used and we’ll notify the admin distribution list. When blank, custom recipient ids are not allowed.","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"triggerOnStatus":{"description":"The status of the alarm for which the alarm action should be sent.","enum":["OK","ACTIVE"],"example":"ACTIVE","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"user":{"$ref":"#/components/schemas/users.response","description":"The users associated with this alarm action"},"userIds":{"description":"IDs of Users to send to, optionally. Will be combined with those attached to the message template. Requires MT users to be customizable.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"alarms_events.post-request":{"properties":{"createdAt":{"description":"The time/date the event was triggered","format":"date-time","type":"string"},"status":{"description":"The status of the associated alarm this event triggered, one of “ACTIVE” or “OK”.","example":"OK","maximum":10000,"type":"string"}},"required":[],"type":"object"},"alarms_events.response":{"properties":{"alarmId":{"description":"The id of the associated alarm.","format":"uuid","type":"string"},"createdAt":{"description":"The time/date the event was triggered","format":"date-time","type":"string"},"endpointId":{"description":"The id of the endpoint that caused the alarm being triggered.","format":"uuid","type":"string"},"endpointName":{"description":"The name of the endpoint that caused the alarm to be triggered. If the endpoint has been deleted, returns null.","example":"SW-Fusion-Server","format":"uuid","type":"string"},"event":{"description":"The metadata that holds the details that caused this event.","example":{"externalId":"101.101.101.10","reasons":["InformaCast REST Api Unavailable"],"scenarioId":"3dc82fa2-cb47-11ee-b671-4feae355d2b6","timestamp":"2024-02-14T14:41:43+0000"},"format":"json","type":"string"},"id":{"description":"The id of the event subresource","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reasons":{"description":"Describes the reason the alarm was triggered and includes the error received from the associated Fusion Server.","example":["InformaCast REST Api Unavailable"],"items":{"type":"string"},"type":"array","uniqueItems":true},"status":{"description":"The status of the associated alarm this event triggered, one of “ACTIVE” or “OK”.","example":"OK","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"api-devices.post-request":{"properties":{"buildingId":{"description":"The ID of the Building the API Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"externalId":{"description":"An arbitrary external identifier. Use a made-up name or a globally unique identifier (GUID) that you create. Avoid using IP or MAC addresses to preserve your users' privacy.","example":"vape-123","maximum":10000,"type":"string"},"floorId":{"description":"The ID of the Floor the API Device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The name of the API Device","example":"Vape Detector","maximum":140,"type":"string"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"A GeoJSON Point representing the location to which the API Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list API Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly."},"siteId":{"description":"The ID of the Site the API Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the API Device is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["name","externalId","siteId","buildingId"],"type":"object"},"api-devices.put-request":{"properties":{"buildingId":{"description":"The ID of the Building the API Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"externalId":{"description":"An arbitrary external identifier. Use a made-up name or a globally unique identifier (GUID) that you create. Avoid using IP or MAC addresses to preserve your users' privacy.","example":"vape-123","maximum":10000,"type":"string"},"floorId":{"description":"The ID of the Floor the API Device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The name of the API Device","example":"Vape Detector","maximum":140,"type":"string"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"A GeoJSON Point representing the location to which the API Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list API Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly."},"siteId":{"description":"The ID of the Site the API Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the API Device is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":[],"type":"object"},"api-devices.response":{"properties":{"building":{"$ref":"#/components/schemas/_api-devices.building","description":"Contains the name, ID, and type of the building to which this API Device belongs"},"buildingId":{"description":"The ID of the Building the API Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"An arbitrary external identifier. Use a made-up name or a globally unique identifier (GUID) that you create. Avoid using IP or MAC addresses to preserve your users' privacy.","example":"vape-123","maximum":10000,"type":"string"},"facilityId":{"description":"The ID of the facility this API Device belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_api-devices.floor","description":"Contains the name and ID of the floor to which this API Device belongs"},"floorId":{"description":"The ID of the Floor the API Device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the API Device","format":"uuid","type":"string"},"name":{"description":"The name of the API Device","example":"Vape Detector","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"A GeoJSON Point representing the location to which the API Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list API Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly."},"site":{"$ref":"#/components/schemas/_api-devices.site","description":"Contains the name and ID of the site to which this API Device belongs"},"siteId":{"description":"The ID of the Site the API Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"zone":{"$ref":"#/components/schemas/_api-devices.zone","description":"Contains the name and ID of the zone to which this API Device belongs"},"zoneId":{"description":"The ID of the Zone the API Device is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"applications.post-request":{"properties":{"applicationInfo":{"description":"The primary info describing the Application","example":{"configurationUrl":"https://smoke-co-safety.com/config","documentationUrl":"https://smoke-co-safety.com/user-guide","longDescription":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","privacyPolicyUrl":"https://smoke-co-safety.com/policy","shortDescription":"Triggers scenarios when smoke or CO is detected","supportEmail":"support@smoke-co-safety.com","supportUrl":"https://smoke-co-safety.com/support","termsOfUseUrl":"https://smoke-co-safety.com/terms-of-use"},"properties":{"configurationUrl":{"description":"The configuration url of the Application; required to publish","example":"https://smoke-co-safety.com/config","maxLength":1024,"type":"string"},"documentationUrl":{"description":"The documentation url of the Application; required to publish","example":"https://smoke-co-safety.com/user-guide","maxLength":1024,"type":"string"},"longDescription":{"description":"The long description of the Application","example":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","maxLength":2000,"type":"string"},"privacyPolicyUrl":{"description":"The privacy policy url of the Application; required to publish","example":"https://smoke-co-safety.com/policy","maxLength":1024,"type":"string"},"shortDescription":{"description":"The short description of the Application","example":"Triggers scenarios when smoke or CO is detected","maxLength":150,"type":"string"},"supportEmail":{"description":"The support email of the Application; required to publish","example":"support@smoke-co-safety.com","maxLength":1024,"type":"string"},"supportUrl":{"description":"The support url of the Application; required to publish","example":"https://smoke-co-safety.com/support","maxLength":1024,"type":"string"},"termsOfUseUrl":{"description":"The terms of use url of the Application; required to publish","example":"https://smoke-co-safety.com/terms-of-use","maxLength":1024,"type":"string"}},"type":"object"},"deauthorizationUri":{"description":"The URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/unauth","maximum":1024,"type":"string"},"displayName":{"description":"The display name of the Application","example":"Smoke and CO Monitoring","maximum":140,"type":"string"},"forMarketplace":{"description":"Whether the Application is meant to be published on the marketplace","example":true,"type":"boolean"},"heroImageId":{"description":"The screenshot, if any, to feature most prominently on the marketplace","example":"3ff898d4-1914-11ef-9d20-57fab6ce7cd6","format":"uuid","type":"string"},"icon":{"description":"The icon file for the Application","format":"binary","type":"string"},"name":{"description":"The name of the Application","example":"Smoke and CO Monitoring","maximum":50,"type":"string"},"primaryContact":{"description":"The primary contact for the Application; reserved for future use","example":{"email":"john.smith@smoke-co-safety.com","name":"John Smith","phoneNumber":"(555) 123-4567"},"properties":{"email":{"description":"The primary contact email for the Application","example":"john.smith@smoke-co-safety.com","maxLength":255,"type":"string"},"name":{"description":"The primary contact name for the Application","example":"John Smith","maxLength":140,"type":"string"},"phoneNumber":{"description":"The primary contact phone number for the Application","example":"(555) 123-4567","maxLength":64,"type":"string"}},"type":"object"},"publisherInfo":{"description":"The publisher info for the Application","example":{"companyName":"Smoke and CO Safety"},"properties":{"companyName":{"description":"The publisher's company name of the Application; required to publish","example":"Smoke and CO Safety","maxLength":255,"type":"string"}},"type":"object"},"redirectUris":{"description":"The redirect uris supported by the Application once published; required for client applications and published server applications","example":["https://smoke-co-safety.com/auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"scopes":{"description":"The scopes of the Application. Available scopes: `urn:singlewire:alarms:read`, `urn:singlewire:areas-of-interest:read`, `urn:singlewire:areas-of-interest:write`, `urn:singlewire:bell-schedules:read`, `urn:singlewire:bell-schedules:write`, `urn:singlewire:collaboration-groups:read`, `urn:singlewire:collaboration-groups:write`, `urn:singlewire:confirmation-requests:read`, `urn:singlewire:confirmation-requests:write`, `urn:singlewire:distribution-lists:read`, `urn:singlewire:distribution-lists:write`, `urn:singlewire:incident-plans:read`, `urn:singlewire:incident-plans:write`, `urn:singlewire:message-templates:read`, `urn:singlewire:message-templates:write`, `urn:singlewire:notification-profiles:read`, `urn:singlewire:notification-profiles:write`, `urn:singlewire:notifications:read`, `urn:singlewire:notifications:write`, `urn:singlewire:reports:read`, `urn:singlewire:ring-lists:read`, `urn:singlewire:ring-lists:write`, `urn:singlewire:scenario-notifications:write`, `urn:singlewire:scenarios:read`, `urn:singlewire:scenarios:write`, `urn:singlewire:session:read`, `urn:singlewire:session:write`, `urn:singlewire:site-roles:read`, `urn:singlewire:site-roles:write`, `urn:singlewire:sites:read`, `urn:singlewire:sites:write`, `urn:singlewire:tracking-events:read`, `urn:singlewire:users:read`, `urn:singlewire:users:write`","example":["urn:singlewire:message-templates:read","urn:singlewire:session:read"],"items":{"type":"string"},"maximum":64,"minimum":1,"type":"array","uniqueItems":true},"status":{"description":"The publication status of the Application; all start out as `DRAFT`, but applications intended for the marketplace can be changed to `SUBMITTED` when ready for review, and then may become `PUBLISHED`","enum":["DRAFT","SUBMITTED","PUBLISHED","SUSPENDED"],"example":"DRAFT","type":"string"},"testingDeauthorizationUri":{"description":"The testing URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/testing-unauth","maximum":1024,"type":"string"},"testingRedirectUris":{"description":"The testing redirect uris supported by the Application","example":["https://smoke-co-safety.com/testing-auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"type":{"description":"The type of the Application: `GENERIC_CLIENT` and `NATIVE_CLIENT` Applications are intended for use by end users; `SERVER` Applications are intended for integration with other systems","enum":["GENERIC_CLIENT","NATIVE_CLIENT","SERVER"],"type":"string"},"usePkce":{"description":"Whether to use the PKCE authorization flow or not. Must be set to `true` when the Application's type is `NATIVE_CLIENT`; can be `false` otherwise","type":"boolean"},"version":{"description":"The version of the Application","example":"0.0.1","maximum":12,"type":"string"}},"required":["name","status","type","version","usePkce","scopes","forMarketplace"],"type":"object"},"applications.put-request":{"properties":{"applicationInfo":{"description":"The primary info describing the Application","example":{"configurationUrl":"https://smoke-co-safety.com/config","documentationUrl":"https://smoke-co-safety.com/user-guide","longDescription":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","privacyPolicyUrl":"https://smoke-co-safety.com/policy","shortDescription":"Triggers scenarios when smoke or CO is detected","supportEmail":"support@smoke-co-safety.com","supportUrl":"https://smoke-co-safety.com/support","termsOfUseUrl":"https://smoke-co-safety.com/terms-of-use"},"properties":{"configurationUrl":{"description":"The configuration url of the Application; required to publish","example":"https://smoke-co-safety.com/config","maxLength":1024,"type":"string"},"documentationUrl":{"description":"The documentation url of the Application; required to publish","example":"https://smoke-co-safety.com/user-guide","maxLength":1024,"type":"string"},"longDescription":{"description":"The long description of the Application","example":"Enables integration with smoke and CO detectors and triggers InformaCast scenarios when smoke or CO is detected","maxLength":2000,"type":"string"},"privacyPolicyUrl":{"description":"The privacy policy url of the Application; required to publish","example":"https://smoke-co-safety.com/policy","maxLength":1024,"type":"string"},"shortDescription":{"description":"The short description of the Application","example":"Triggers scenarios when smoke or CO is detected","maxLength":150,"type":"string"},"supportEmail":{"description":"The support email of the Application; required to publish","example":"support@smoke-co-safety.com","maxLength":1024,"type":"string"},"supportUrl":{"description":"The support url of the Application; required to publish","example":"https://smoke-co-safety.com/support","maxLength":1024,"type":"string"},"termsOfUseUrl":{"description":"The terms of use url of the Application; required to publish","example":"https://smoke-co-safety.com/terms-of-use","maxLength":1024,"type":"string"}},"type":"object"},"deauthorizationUri":{"description":"The URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/unauth","maximum":1024,"type":"string"},"displayName":{"description":"The display name of the Application","example":"Smoke and CO Monitoring","maximum":140,"type":"string"},"forMarketplace":{"description":"Whether the Application is meant to be published on the marketplace","example":true,"type":"boolean"},"heroImageId":{"description":"The screenshot, if any, to feature most prominently on the marketplace","example":"3ff898d4-1914-11ef-9d20-57fab6ce7cd6","format":"uuid","type":"string"},"icon":{"description":"The icon file for the Application","format":"binary","type":"string"},"name":{"description":"The name of the Application","example":"Smoke and CO Monitoring","maximum":50,"type":"string"},"primaryContact":{"description":"The primary contact for the Application; reserved for future use","example":{"email":"john.smith@smoke-co-safety.com","name":"John Smith","phoneNumber":"(555) 123-4567"},"properties":{"email":{"description":"The primary contact email for the Application","example":"john.smith@smoke-co-safety.com","maxLength":255,"type":"string"},"name":{"description":"The primary contact name for the Application","example":"John Smith","maxLength":140,"type":"string"},"phoneNumber":{"description":"The primary contact phone number for the Application","example":"(555) 123-4567","maxLength":64,"type":"string"}},"type":"object"},"publisherInfo":{"description":"The publisher info for the Application","example":{"companyName":"Smoke and CO Safety"},"properties":{"companyName":{"description":"The publisher's company name of the Application; required to publish","example":"Smoke and CO Safety","maxLength":255,"type":"string"}},"type":"object"},"redirectUris":{"description":"The redirect uris supported by the Application once published; required for client applications and published server applications","example":["https://smoke-co-safety.com/auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"scopes":{"description":"The scopes of the Application. Available scopes: `urn:singlewire:alarms:read`, `urn:singlewire:areas-of-interest:read`, `urn:singlewire:areas-of-interest:write`, `urn:singlewire:bell-schedules:read`, `urn:singlewire:bell-schedules:write`, `urn:singlewire:collaboration-groups:read`, `urn:singlewire:collaboration-groups:write`, `urn:singlewire:confirmation-requests:read`, `urn:singlewire:confirmation-requests:write`, `urn:singlewire:distribution-lists:read`, `urn:singlewire:distribution-lists:write`, `urn:singlewire:incident-plans:read`, `urn:singlewire:incident-plans:write`, `urn:singlewire:message-templates:read`, `urn:singlewire:message-templates:write`, `urn:singlewire:notification-profiles:read`, `urn:singlewire:notification-profiles:write`, `urn:singlewire:notifications:read`, `urn:singlewire:notifications:write`, `urn:singlewire:reports:read`, `urn:singlewire:ring-lists:read`, `urn:singlewire:ring-lists:write`, `urn:singlewire:scenario-notifications:write`, `urn:singlewire:scenarios:read`, `urn:singlewire:scenarios:write`, `urn:singlewire:session:read`, `urn:singlewire:session:write`, `urn:singlewire:site-roles:read`, `urn:singlewire:site-roles:write`, `urn:singlewire:sites:read`, `urn:singlewire:sites:write`, `urn:singlewire:tracking-events:read`, `urn:singlewire:users:read`, `urn:singlewire:users:write`","example":["urn:singlewire:message-templates:read","urn:singlewire:session:read"],"items":{"type":"string"},"maximum":64,"minimum":1,"type":"array","uniqueItems":true},"status":{"description":"The publication status of the Application; all start out as `DRAFT`, but applications intended for the marketplace can be changed to `SUBMITTED` when ready for review, and then may become `PUBLISHED`","enum":["DRAFT","SUBMITTED","PUBLISHED","SUSPENDED"],"example":"DRAFT","type":"string"},"testingDeauthorizationUri":{"description":"The testing URI to be invoked when a server application is deleted","example":"https://smoke-co-safety.com/testing-unauth","maximum":1024,"type":"string"},"testingRedirectUris":{"description":"The testing redirect uris supported by the Application","example":["https://smoke-co-safety.com/testing-auth"],"items":{"type":"string"},"maximum":64,"type":"array","uniqueItems":true},"type":{"description":"The type of the Application: `GENERIC_CLIENT` and `NATIVE_CLIENT` Applications are intended for use by end users; `SERVER` Applications are intended for integration with other systems","enum":["GENERIC_CLIENT","NATIVE_CLIENT","SERVER"],"type":"string"},"usePkce":{"description":"Whether to use the PKCE authorization flow or not. Must be set to `true` when the Application's type is `NATIVE_CLIENT`; can be `false` otherwise","type":"boolean"},"version":{"description":"The version of the Application","example":"0.0.1","maximum":12,"type":"string"}},"required":[],"type":"object"},"applications_draft.request":{"properties":{},"required":[],"type":"object"},"applications_screenshots.request":{"properties":{"screenshot":{"description":"The screenshot file for the Application","example":null,"format":"binary","type":"string"}},"required":[],"type":"object"},"applications_secrets.post-request":{"properties":{"expiresAt":{"description":"The date and time when the Application Secret expires","format":"date-time","type":"string"}},"required":["expiresAt"],"type":"object"},"applications_secrets.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"expiresAt":{"description":"The date and time when the Application Secret expires","format":"date-time","type":"string"},"id":{"description":"The ID of the Application Secret","example":"e805d668-fc3b-11ee-a7c4-2720dbaf6d93","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"secret":{"description":"The Application Secret","example":"OXMKBUMQNPORBO3RQYJABYEIQB7FNE75RMQ67YQDWINVHY27X2YTWD34EWHSB3LZ7HQ2ACZGYVJEUTMOMYJHYRUHXDV5E46IKC5LYGQ=","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"areas-of-interest.post-request":{"properties":{"geometryType":{"description":"A circular region defined by center point given in latitude and longitude and a radius given in meters.","enum":["circle"],"example":"circle","type":"string"},"geometryValue":{"description":"The geometry details. If present, this value determines the location, shape, and size of the area of interest.","example":{"geometry":{"coordinates":[-89.34,43.14],"type":"Point"},"properties":{"radiusInM":1000},"type":"Feature"},"properties":{"geometry":{"description":"The geometry of the geojson object","properties":{"coordinates":{"description":"The coordinates of the feature, as a longitude/latitude pair","example":[-89.34,43.14],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature","example":"Point","maxLength":10000,"type":"string"}},"type":"object"},"properties":{"description":"The properties of the geojson feature","properties":{"radiusInM":{"description":"For circular features, the radius of the circle in meters","example":1000,"type":"integer"}},"type":"object"},"type":{"description":"The type of geojson","example":"Feature","maxLength":10000,"type":"string"}},"type":"object"},"name":{"description":"The area’s display name","example":"Guac Delivery Range","maximum":140,"type":"string"},"syncedDeviceTypes":{"description":"The device types synced with the AOI, i.e. included in its count. Note: Submitting syncedDeviceTypes=[mobile, desktop] is equivalent to omitting the parameter.","example":["mobile","desktop"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["name","geometryType"],"type":"object"},"areas-of-interest.put-request":{"properties":{"geometryType":{"description":"A circular region defined by center point given in latitude and longitude and a radius given in meters.","enum":["circle"],"example":"circle","type":"string"},"geometryValue":{"description":"The geometry details. If present, this value determines the location, shape, and size of the area of interest.","example":{"geometry":{"coordinates":[-89.34,43.14],"type":"Point"},"properties":{"radiusInM":1000},"type":"Feature"},"properties":{"geometry":{"description":"The geometry of the geojson object","properties":{"coordinates":{"description":"The coordinates of the feature, as a longitude/latitude pair","example":[-89.34,43.14],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature","example":"Point","maxLength":10000,"type":"string"}},"type":"object"},"properties":{"description":"The properties of the geojson feature","properties":{"radiusInM":{"description":"For circular features, the radius of the circle in meters","example":1000,"type":"integer"}},"type":"object"},"type":{"description":"The type of geojson","example":"Feature","maxLength":10000,"type":"string"}},"type":"object"},"name":{"description":"The area’s display name","example":"Guac Delivery Range","maximum":140,"type":"string"},"syncedDeviceTypes":{"description":"The device types synced with the AOI, i.e. included in its count. Note: Submitting syncedDeviceTypes=[mobile, desktop] is equivalent to omitting the parameter.","example":["mobile","desktop"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"areas-of-interest.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"geometryType":{"description":"A circular region defined by center point given in latitude and longitude and a radius given in meters.","enum":["circle"],"example":"circle","type":"string"},"geometryValue":{"description":"The geometry details. If present, this value determines the location, shape, and size of the area of interest.","example":{"geometry":{"coordinates":[-89.34,43.14],"type":"Point"},"properties":{"radiusInM":1000},"type":"Feature"},"properties":{"geometry":{"description":"The geometry of the geojson object","properties":{"coordinates":{"description":"The coordinates of the feature, as a longitude/latitude pair","example":[-89.34,43.14],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature","example":"Point","maxLength":10000,"type":"string"}},"type":"object"},"properties":{"description":"The properties of the geojson feature","properties":{"radiusInM":{"description":"For circular features, the radius of the circle in meters","example":1000,"type":"integer"}},"type":"object"},"type":{"description":"The type of geojson","example":"Feature","maxLength":10000,"type":"string"}},"type":"object"},"id":{"description":"TimeUUID identifier of area of interest","example":"8145ebd1-7a8b-11ee-bc97-098b09a637c2","format":"uuid","type":"string"},"name":{"description":"The area’s display name","example":"Guac Delivery Range","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"syncedDeviceTypes":{"description":"The device types synced with the AOI, i.e. included in its count. Note: Submitting syncedDeviceTypes=[mobile, desktop] is equivalent to omitting the parameter.","example":["mobile","desktop"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["permissions","createdAt","name","id"],"type":"object"},"areas-of-interest_boundary-triggers.post-request":{"properties":{"action":{"description":"Indicates if a notification should be sent out either when someone has entered or exited an area of interest.","enum":["entered","exited","both"],"example":"entered","type":"string"},"body":{"description":"The body override of the message template","maximum":10000,"type":"string"},"distributionListIds":{"description":"When anyone from these distribution lists crosses an area of interest, trigger this action.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The ID of the message template to use when this trigger is created","format":"uuid","type":"string"},"name":{"description":"Name of the boundary trigger","example":"Arrive at CVG","maximum":255,"type":"string"},"notificationAction":{"description":"Indicates whether or not a notification should be sent out when someone has entered or exited an area of interest. The notification can be skipped, sent to the user, or to the recipients specified in the associated Message Template respectively.","enum":["send-to-none","send-to-user","send-to-message-template-recipients"],"example":"send-to-user","type":"string"},"perUserThrottlingInSecs":{"description":"The amount of time that must pass before another boundary trigger will fire for that user.","example":600,"type":"integer"},"subject":{"description":"The subject override of the message template","maximum":255,"type":"string"},"userIds":{"description":"When any User from this list crosses an area of interest, trigger this action.","example":["e4e7860d-fb72-11e5-93a8-7b0393df5405"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["name","action","perUserThrottlingInSecs","notificationAction"],"type":"object"},"areas-of-interest_boundary-triggers.put-request":{"properties":{"action":{"description":"Indicates if a notification should be sent out either when someone has entered or exited an area of interest.","enum":["entered","exited","both"],"example":"entered","type":"string"},"body":{"description":"The body override of the message template","maximum":10000,"type":"string"},"distributionListIds":{"description":"When anyone from these distribution lists crosses an area of interest, trigger this action.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The ID of the message template to use when this trigger is created","format":"uuid","type":"string"},"name":{"description":"Name of the boundary trigger","example":"Arrive at CVG","maximum":255,"type":"string"},"notificationAction":{"description":"Indicates whether or not a notification should be sent out when someone has entered or exited an area of interest. The notification can be skipped, sent to the user, or to the recipients specified in the associated Message Template respectively.","enum":["send-to-none","send-to-user","send-to-message-template-recipients"],"example":"send-to-user","type":"string"},"perUserThrottlingInSecs":{"description":"The amount of time that must pass before another boundary trigger will fire for that user.","example":600,"type":"integer"},"subject":{"description":"The subject override of the message template","maximum":255,"type":"string"},"userIds":{"description":"When any User from this list crosses an area of interest, trigger this action.","example":["e4e7860d-fb72-11e5-93a8-7b0393df5405"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"areas-of-interest_boundary-triggers.response":{"properties":{"action":{"description":"Indicates if a notification should be sent out either when someone has entered or exited an area of interest.","enum":["entered","exited","both"],"example":"entered","type":"string"},"areaOfInterestId":{"description":"The ID of the area of interest associated with this boundary trigger","format":"uuid","type":"string"},"body":{"description":"The body override of the message template","maximum":10000,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"distributionListIds":{"description":"When anyone from these distribution lists crosses an area of interest, trigger this action.","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionLists":{"$ref":"#/components/schemas/distribution-lists.response","description":"The distribution lists associated with this area of interest boundary trigger","example":[]},"id":{"description":"ID of the boundary trigger","format":"uuid","type":"string"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The message template associated with this area of interest boundary trigger"},"messageTemplateId":{"description":"The ID of the message template to use when this trigger is created","format":"uuid","type":"string"},"name":{"description":"Name of the boundary trigger","example":"Arrive at CVG","maximum":255,"type":"string"},"notificationAction":{"description":"Indicates whether or not a notification should be sent out when someone has entered or exited an area of interest. The notification can be skipped, sent to the user, or to the recipients specified in the associated Message Template respectively.","enum":["send-to-none","send-to-user","send-to-message-template-recipients"],"example":"send-to-user","type":"string"},"perUserThrottlingInSecs":{"description":"The amount of time that must pass before another boundary trigger will fire for that user.","example":600,"type":"integer"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subject":{"description":"The subject override of the message template","maximum":255,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"user":{"$ref":"#/components/schemas/users.response","description":"The users associated with this area of interest boundary trigger"},"userIds":{"description":"When any User from this list crosses an area of interest, trigger this action.","example":["e4e7860d-fb72-11e5-93a8-7b0393df5405"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"areas-of-interest_boundary-triggers_activities.response":{"properties":{"areaOfInterestId":{"description":"The ID of the area of interest associated with this boundary trigger activity","format":"uuid","type":"string"},"boundaryTriggerId":{"description":"The ID of the boundary trigger associated with this activity","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"device":{"$ref":"#/components/schemas/user-devices.response","description":"The device which triggered this activity"},"id":{"description":"ID of the boundary trigger activity","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reason":{"description":"Indicates why the activity was created. Can be from an enter or exit event.","enum":["entered","exited"],"example":"exited","type":"string"},"status":{"description":"Indicates whether the activity was a success","enum":["success","no-recipients"],"example":"success","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"badges.post-request":{"properties":{"appEui":{"description":"The Badges's app EUI","example":"0000000000000001","maximum":16,"minimum":16,"type":"string"},"appKey":{"description":"The Badges's app key","example":"ae4e4470e68a4fbd941b77ec0018cfba","maximum":32,"minimum":32,"type":"string"},"blePassword":{"description":"The Badges's BLE Password","example":"be4e4470e68a4fbd941b77ec0018cfbb","maximum":32,"minimum":8,"type":"string"},"eui":{"description":"The Badges's device EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"isDecommissioned":{"description":"Whether the Badge is currently decommissioned","example":true,"type":"boolean"},"model":{"description":"The Badge's model","enum":["Moko_LW010CT"],"example":"Moko_LW010CT","type":"string"},"name":{"description":"The name of the Badge","example":"Joe's Badge","maximum":140,"minimum":3,"type":"string"},"salt":{"description":"A Moko provisioning salt used to derive the BLE Password. Provide this instead of a BLE Password when creating a Moko device (create only); the BLE Password is computed and stored from the device's MAC address and this salt. Exactly one of BLE Password or salt is required.","example":"8d6e1f0a2b3c4d5e","maximum":10000,"type":"string"},"userId":{"description":"The ID of the user the badge is assigned to","format":"uuid","type":"string"}},"required":["name","eui","appKey","appEui","model"],"type":"object"},"badges.put-request":{"properties":{"appEui":{"description":"The Badges's app EUI","example":"0000000000000001","maximum":16,"minimum":16,"type":"string"},"appKey":{"description":"The Badges's app key","example":"ae4e4470e68a4fbd941b77ec0018cfba","maximum":32,"minimum":32,"type":"string"},"blePassword":{"description":"The Badges's BLE Password","example":"be4e4470e68a4fbd941b77ec0018cfbb","maximum":32,"minimum":8,"type":"string"},"eui":{"description":"The Badges's device EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"isDecommissioned":{"description":"Whether the Badge is currently decommissioned","example":true,"type":"boolean"},"model":{"description":"The Badge's model","enum":["Moko_LW010CT"],"example":"Moko_LW010CT","type":"string"},"name":{"description":"The name of the Badge","example":"Joe's Badge","maximum":140,"minimum":3,"type":"string"},"userId":{"description":"The ID of the user the badge is assigned to","format":"uuid","type":"string"}},"required":[],"type":"object"},"badges.response":{"properties":{"appEui":{"description":"The Badges's app EUI","example":"0000000000000001","maximum":16,"minimum":16,"type":"string"},"createdAt":{"description":"The time the Badge was created","format":"date-time","type":"string"},"eui":{"description":"The Badges's device EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"id":{"description":"The ID of the Badge","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Badge is currently decommissioned","example":true,"type":"boolean"},"model":{"description":"The Badge's model","enum":["Moko_LW010CT"],"example":"Moko_LW010CT","type":"string"},"name":{"description":"The name of the Badge","example":"Joe's Badge","maximum":140,"minimum":3,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"The last time the Badge was updated","format":"date-time","type":"string"},"userId":{"description":"The ID of the user the badge is assigned to","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"badges_decommission.request":{"properties":{},"required":[],"type":"object"},"badges_downlink-messages.request":{"properties":{},"required":[],"type":"object"},"badges_downlink-messages.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"badges_recommission.request":{"properties":{},"required":[],"type":"object"},"beacons.post-request":{"properties":{"blePassword":{"description":"The Beacons's BLE Password","example":"be4e4470e68a4fbd941b77ec0018cfbb","maximum":32,"minimum":8,"type":"string"},"buildingId":{"description":"The ID of the Building the Beacon is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"floorId":{"description":"The ID of the Floor the Beacon is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Beacon is currently decommissioned","example":true,"type":"boolean"},"macAddress":{"description":"The MAC address which identifies the beacon","example":"aabbccddeeff","maximum":12,"minimum":12,"type":"string"},"major":{"description":"The Beacon's iBeacon Major value","example":1,"type":"integer"},"minor":{"description":"The Beacon's iBeacon Minor value","example":1,"type":"integer"},"model":{"description":"The Beacons's model","enum":["Moko_M6","Moko_L01A"],"example":"Moko_L01A","type":"string"},"name":{"description":"The name of the Beacon","example":"Room 102A Beacon","maximum":140,"minimum":3,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Beacon is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Beacons whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"rssiAt1mDbm":{"description":"The RSSI reference of the Beacon at 1m away in dBm","example":0,"type":"integer"},"salt":{"description":"A Moko provisioning salt used to derive the BLE Password. Provide this instead of a BLE Password when creating a Moko device (create only); the BLE Password is computed and stored from the device's MAC address and this salt. Exactly one of BLE Password or salt is required.","example":"8d6e1f0a2b3c4d5e","maximum":10000,"type":"string"},"siteId":{"description":"The ID of the Site the Beacon is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"txPowerDbm":{"description":"The TX Power of the Beacon in dBm","example":0,"type":"integer"},"type":{"description":"The Beacon type such as iBeacon.","enum":["IBEACON"],"example":"IBEACON","type":"string"},"uuid":{"description":"The Beacon's iBeacon UUID.","example":"2ac6d883-421b-11f0-8c50-f5395f75a91a","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the Beacon is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["name","macAddress","txPowerDbm","rssiAt1mDbm","type","model","uuid","major","minor"],"type":"object"},"beacons.put-request":{"properties":{"blePassword":{"description":"The Beacons's BLE Password","example":"be4e4470e68a4fbd941b77ec0018cfbb","maximum":32,"minimum":8,"type":"string"},"buildingId":{"description":"The ID of the Building the Beacon is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"floorId":{"description":"The ID of the Floor the Beacon is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Beacon is currently decommissioned","example":true,"type":"boolean"},"macAddress":{"description":"The MAC address which identifies the beacon","example":"aabbccddeeff","maximum":12,"minimum":12,"type":"string"},"major":{"description":"The Beacon's iBeacon Major value","example":1,"type":"integer"},"minor":{"description":"The Beacon's iBeacon Minor value","example":1,"type":"integer"},"model":{"description":"The Beacons's model","enum":["Moko_M6","Moko_L01A"],"example":"Moko_L01A","type":"string"},"name":{"description":"The name of the Beacon","example":"Room 102A Beacon","maximum":140,"minimum":3,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Beacon is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Beacons whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"rssiAt1mDbm":{"description":"The RSSI reference of the Beacon at 1m away in dBm","example":0,"type":"integer"},"siteId":{"description":"The ID of the Site the Beacon is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"txPowerDbm":{"description":"The TX Power of the Beacon in dBm","example":0,"type":"integer"},"type":{"description":"The Beacon type such as iBeacon.","enum":["IBEACON"],"example":"IBEACON","type":"string"},"uuid":{"description":"The Beacon's iBeacon UUID.","example":"2ac6d883-421b-11f0-8c50-f5395f75a91a","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the Beacon is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":[],"type":"object"},"beacons.response":{"properties":{"building":{"$ref":"#/components/schemas/_beacons.building","description":"Contains the name, ID, and type of the building to which this Beacon belongs"},"buildingId":{"description":"The ID of the Building the Beacon is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"The time the Beacon was created","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this Beacon belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_beacons.floor","description":"Contains the name and ID of the floor to which this Beacon belongs"},"floorId":{"description":"The ID of the Floor the Beacon is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the Beacon","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Beacon is currently decommissioned","example":true,"type":"boolean"},"isOutdoorModel":{"description":"Whether the Beacons's model is only compatible with outdoor zones.","example":true,"type":"boolean"},"macAddress":{"description":"The MAC address which identifies the beacon","example":"aabbccddeeff","maximum":12,"minimum":12,"type":"string"},"major":{"description":"The Beacon's iBeacon Major value","example":1,"type":"integer"},"minor":{"description":"The Beacon's iBeacon Minor value","example":1,"type":"integer"},"model":{"description":"The Beacons's model","enum":["Moko_M6","Moko_L01A"],"example":"Moko_L01A","type":"string"},"name":{"description":"The name of the Beacon","example":"Room 102A Beacon","maximum":140,"minimum":3,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Beacon is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Beacons whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"rssiAt1mDbm":{"description":"The RSSI reference of the Beacon at 1m away in dBm","example":0,"type":"integer"},"site":{"$ref":"#/components/schemas/_beacons.site","description":"Contains the name and ID of the site to which this Beacon belongs"},"siteId":{"description":"The ID of the Site the Beacon is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"txPowerDbm":{"description":"The TX Power of the Beacon in dBm","example":0,"type":"integer"},"type":{"description":"The Beacon type such as iBeacon.","enum":["IBEACON"],"example":"IBEACON","type":"string"},"updatedAt":{"description":"The last time the Beacon was updated","format":"date-time","type":"string"},"uuid":{"description":"The Beacon's iBeacon UUID.","example":"2ac6d883-421b-11f0-8c50-f5395f75a91a","format":"uuid","type":"string"},"zone":{"$ref":"#/components/schemas/_beacons.zone","description":"Contains the name, ID, and outdoor flag of the zone to which this Beacon belongs"},"zoneId":{"description":"The ID of the Zone the Beacon is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"beacons_decommission.request":{"properties":{},"required":[],"type":"object"},"beacons_recommission.request":{"properties":{},"required":[],"type":"object"},"beacons_reset.request":{"properties":{},"required":[],"type":"object"},"beacons_swap.post-request":{"properties":{"deleteSource":{"description":"Whether to delete the source Beacon after swapping instead of keeping it renamed to '<mac address> - Reset' (suffixed with ' (2)', ' (3)', etc. when that name is already taken). Restricted to support, internal, and Singlewire contractor users. Defaults to false.","example":false,"type":"boolean"},"replacementId":{"description":"The ID of the Beacon to swap in as the replacement.","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"transferLocation":{"description":"Whether to copy the source Beacon's pinned location onto the replacement. Defaults to true.","example":true,"type":"boolean"},"transferName":{"description":"Whether to copy the source Beacon's name onto the replacement. Defaults to true.","example":true,"type":"boolean"}},"required":["replacementId"],"type":"object"},"bell-schedules-bulk-exceptions.post-request":{"properties":{"allBellSchedules":{"description":"If true, will apply the exception to all bell schedules, regardless of the value of bellScheduleIds.","type":"boolean"},"bellScheduleIds":{"description":"The bell schedules to which the exception should be added. Required unless you supply a true value for allBellSchedules.","example":["cc01447c-650f-11e8-a57e-332c8cdd597f","f94d1622-6a65-11e8-9030-0d319c188f5d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"description":{"description":"A description for the exception to be added to each schedule.","example":"Snow Day","maximum":250,"type":"string"},"endDate":{"description":"The end date for the exception in ISO 8601 YYYY-MM-DD format.","example":"2024-02-05","format":"date","type":"string"},"ringListId":{"description":"The ring list to use during the exception, omit to suppress rings.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"},"schedulesAffected":{"description":"The number of devices that can unregister before we send an alarm notification","items":{"properties":{"id":{"description":"The `id` of a bell schedule to which the exception was added.","example":"f94d1622-6a65-11e8-9030-0d319c188f5d","format":"uuid","type":"string"},"name":{"description":"The name of the affected bell schedule.","example":"Ridgemont High","type":"string"},"sync-id":{"description":"The current sync ID of the bell schedule, which Fusion servers can use to verify their data is up to date.","example":"f94d1622-6a65-11e8-9030-0d319c188f5d:1599610192210","type":"string"}},"type":"object"},"type":"array"},"startDate":{"description":"The start date for the exception ISO 8601 YYYY-MM-DD format.","example":"2024-02-04","format":"date","type":"string"}},"required":["startDate","endDate"],"type":"object"},"bell-schedules-bulk-exceptions.response":{"properties":{"allBellSchedules":{"description":"If true, will apply the exception to all bell schedules, regardless of the value of bellScheduleIds.","type":"boolean"},"bellScheduleIds":{"description":"The bell schedules to which the exception should be added. Required unless you supply a true value for allBellSchedules.","example":["cc01447c-650f-11e8-a57e-332c8cdd597f","f94d1622-6a65-11e8-9030-0d319c188f5d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"A description for the exception to be added to each schedule.","example":"Snow Day","maximum":250,"type":"string"},"endDate":{"description":"The end date for the exception in ISO 8601 YYYY-MM-DD format.","example":"2024-02-05","format":"date","type":"string"},"id":{"description":"The `id` of the bell schedule bulk exception","example":"36516d71-fb52-11ee-beb2-036bbc506752","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"ringListId":{"description":"The ring list to use during the exception, omit to suppress rings.","example":"e37754f2-c071-11ee-a727-8dd76c1a8875","format":"uuid","type":"string"},"schedulesAffected":{"description":"The number of devices that can unregister before we send an alarm notification","items":{"properties":{"id":{"description":"The `id` of a bell schedule to which the exception was added.","example":"f94d1622-6a65-11e8-9030-0d319c188f5d","format":"uuid","type":"string"},"name":{"description":"The name of the affected bell schedule.","example":"Ridgemont High","type":"string"},"sync-id":{"description":"The current sync ID of the bell schedule, which Fusion servers can use to verify their data is up to date.","example":"f94d1622-6a65-11e8-9030-0d319c188f5d:1599610192210","type":"string"}},"type":"object"},"type":"array"},"startDate":{"description":"The start date for the exception ISO 8601 YYYY-MM-DD format.","example":"2024-02-04","format":"date","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"bell-schedules.post-request":{"properties":{"bellScheduleEntries":{"$ref":"#/components/schemas/_bell-schedules.bell-schedule-entries","description":"An array of the configured ring list entries attached to a bell schedule"},"bellScheduleExceptions":{"$ref":"#/components/schemas/_bell-schedules.bell-schedule-exceptions","description":"An array of exceptions attached to the bell schedule"},"description":{"description":"An optional description for the bell schedule","example":"School Year 2024-2025","maximum":255,"type":"string"},"endDate":{"description":"The end date for your bell schedule in ISO 8601 YYYY-MM-DD format","example":"2025-05-25","format":"date","type":"string"},"isShared":{"description":"Denotes whether or not this bell schedule is globally shared","example":true,"type":"boolean"},"name":{"description":"A unique name for the bell schedule","example":"School Year 24-25","maximum":50,"type":"string"},"numWeeks":{"description":"The number of weeks in a bell schedule. Value can only be 1, 2, or 3 which corresponds to a weekly, bi-weekly, or tri-weekly schedule respectively.","example":1,"type":"integer"},"startDate":{"description":"The start date for your bell schedule in ISO 8601 YYYY-MM-DD format, must be on or after 2000-01-01","example":"2024-08-28","format":"date","type":"string"},"timeZone":{"description":"The time zone of the ring list expression.","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"}},"required":["name","numWeeks","startDate","endDate"],"type":"object"},"bell-schedules.put-request":{"properties":{"bellScheduleEntries":{"$ref":"#/components/schemas/_bell-schedules.bell-schedule-entries","description":"An array of the configured ring list entries attached to a bell schedule"},"bellScheduleExceptions":{"$ref":"#/components/schemas/_bell-schedules.bell-schedule-exceptions","description":"An array of exceptions attached to the bell schedule"},"description":{"description":"An optional description for the bell schedule","example":"School Year 2024-2025","maximum":255,"type":"string"},"endDate":{"description":"The end date for your bell schedule in ISO 8601 YYYY-MM-DD format","example":"2025-05-25","format":"date","type":"string"},"isShared":{"description":"Denotes whether or not this bell schedule is globally shared","example":true,"type":"boolean"},"name":{"description":"A unique name for the bell schedule","example":"School Year 24-25","maximum":50,"type":"string"},"numWeeks":{"description":"The number of weeks in a bell schedule. Value can only be 1, 2, or 3 which corresponds to a weekly, bi-weekly, or tri-weekly schedule respectively.","example":1,"type":"integer"},"startDate":{"description":"The start date for your bell schedule in ISO 8601 YYYY-MM-DD format, must be on or after 2000-01-01","example":"2024-08-28","format":"date","type":"string"},"timeZone":{"description":"The time zone of the ring list expression.","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"}},"required":[],"type":"object"},"bell-schedules_clone.request":{"properties":{"name":{"description":"A unique name for the bell schedule. Defaults to the source bell schedule's name with a \" (Copy)\" suffix.","example":"School Year 24-25 (Copy)","maximum":50,"type":"string"}},"required":[],"type":"object"},"brandings.put-request":{"properties":{"companyEmail":{"description":"The branding contact's email address.","example":"administrator@example.com","maximum":10000,"type":"string"},"companyName":{"description":"Name of the company that owns the branding.","example":"Singlewire","maximum":10000,"type":"string"},"companyPhone":{"description":"The branding contact's phone number.","example":"+15558675309","maximum":10000,"type":"string"},"customUrl":{"description":"A web link to custom help content for brandings customers.","maximum":256,"type":"string"},"logo":{"description":"The brandings logo file as a BMP, GIF, JPEG, PNG, TIF or TIFF.","example":398268,"format":"binary","type":"string"},"logoAltText":{"description":"Alt text for the logo image.","example":"Brand Logo","maximum":100,"type":"string"},"primaryColor":{"description":"Hex color value for the branding's primary color.","example":"#007cbd","maximum":10000,"type":"string"},"secondaryColor":{"description":"Hex color value for the branding's secondary color.","example":"#e6e6e6","maximum":10000,"type":"string"}},"required":[],"type":"object"},"brandings.response":{"properties":{"companyEmail":{"description":"The branding contact's email address.","example":"administrator@example.com","maximum":10000,"type":"string"},"companyName":{"description":"Name of the company that owns the branding.","example":"Singlewire","maximum":10000,"type":"string"},"companyPhone":{"description":"The branding contact's phone number.","example":"+15558675309","maximum":10000,"type":"string"},"createdAt":{"description":"When the brandings record was created.","format":"date-time","type":"string"},"customUrl":{"description":"A web link to custom help content for brandings customers.","maximum":256,"type":"string"},"defaults":{"description":"Brandings defaults.","example":{"defaultLogo":9102,"defaultLogoAltText":"InformaCast Logo","defaultPrimaryColor":"#007cbd","defaultSecondaryColor":"#e6e6e6"},"properties":{"defaultLogo":{"description":"The size, in bytes, of the default brandings logo.","example":9102,"readOnly":true,"type":"integer"},"defaultLogoAltText":{"description":"The default alt text for the logo image.","example":"InformaCast Logo","maxLength":10000,"readOnly":true,"type":"string"},"defaultPrimaryColor":{"description":"The default hex value for the primary-color.","example":"#007cbd","maxLength":10000,"readOnly":true,"type":"string"},"defaultSecondaryColor":{"description":"The default hex value for the secondary-color.","example":"#e6e6e6","maxLength":10000,"readOnly":true,"type":"string"}},"readOnly":true,"type":"object"},"id":{"description":"The unique identifier for the brandings record.","format":"uuid","type":"string"},"logo":{"description":"The brandings logo file as a BMP, GIF, JPEG, PNG, TIF or TIFF.","example":398268,"format":"binary","type":"string"},"logoAltText":{"description":"Alt text for the logo image.","example":"Brand Logo","maximum":100,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"primaryColor":{"description":"Hex color value for the branding's primary color.","example":"#007cbd","maximum":10000,"type":"string"},"secondaryColor":{"description":"Hex color value for the branding's secondary color.","example":"#e6e6e6","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"bulk-uploads.post-request":{"properties":{"contentType":{"description":"MIME type of the file being uploaded to S3, defaults to application/zip","enum":["text/csv","text/tab-separated-values","application/zip","application/x-zip-compressed","application/zip-compressed"],"example":"application/zip","type":"string"},"endpointId":{"description":"Id of the destination fusion server","format":"uuid","type":"string"},"resourceType":{"description":"The type of resource for upload","enum":["message-templates","device-groups","speakers","bell-schedules","call-aware-call-redirects","call-aware-routing-requests","ring-lists","dialing-configurations","api-devices","badges","beacons","supervisors","gateways","placeholder-devices"],"type":"string"},"testMode":{"description":"Whether or not to rollback the transaction after completion","example":"true","type":"boolean"}},"required":["resourceType"],"type":"object"},"bulk-uploads.response":{"properties":{"contentType":{"description":"MIME type of the file being uploaded to S3, defaults to application/zip","enum":["text/csv","text/tab-separated-values","application/zip","application/x-zip-compressed","application/zip-compressed"],"example":"application/zip","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"directoryId":{"description":"The `id` of the directory in the S3 bucket associated with this resource","format":"uuid","type":"string"},"endpointId":{"description":"Id of the destination fusion server","format":"uuid","type":"string"},"facilityId":{"description":"The ID of the facility this bulk upload belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"fileId":{"description":"The `id` of the file in the S3 associated with this resource if a csv or tsv file was uploaded, not a zip file","type":"string"},"id":{"description":"The `id` of the bulk upload","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceType":{"description":"The type of resource for upload","enum":["message-templates","device-groups","speakers","bell-schedules","call-aware-call-redirects","call-aware-routing-requests","ring-lists","dialing-configurations","api-devices","badges","beacons","supervisors","gateways","placeholder-devices"],"type":"string"},"status":{"description":"The status of the bulk upload being committed","enum":["success","ERROR","PENDING","RUNNING","COMPLETE"],"type":"string"},"testMode":{"description":"Whether or not to rollback the transaction after completion","example":"true","type":"boolean"}},"required":["permissions","createdAt","id"],"type":"object"},"bulk-uploads_commit.request":{"properties":{},"required":[],"type":"object"},"bulk-uploads_commit.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"directoryId":{"description":"The `id` of the directory in the S3 bucket associated with this resource","format":"uuid","type":"string"},"endpointId":{"description":"The `id` of the endpoint to be committed to, if a proxied resource (speakers)","format":"uuid","type":"string"},"id":{"description":"The `id` of the associated bulk upload","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceType":{"description":"The resource type of the bulk upload, `message-templates` encompasses Confirmation Requests and Notification Profiles when appropriate","enum":["message-templates","device-groups","speakers","bell-schedules","call-aware-call-redirects","call-aware-routing-requests","ring-lists","dialing-configurations","api-devices","badges","beacons","supervisors","gateways","placeholder-devices"],"type":"string"},"status":{"description":"The status of the bulk upload being committed","enum":["success","ERROR","PENDING","RUNNING","COMPLETE"],"type":"string"},"testMode":{"description":"If true, results will be reported but data will remain unchanged","type":"boolean"}},"required":["permissions","createdAt","id"],"type":"object"},"bulk-uploads_logs.response":{"properties":{"bulkUploadId":{"description":"The `id` of the associated bulk upload instance.","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this bulk upload logs belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"The `id` of the bulk upload log, for efficient retrieval, manipulation, or looking up sub-resources attached to the bulk upload.","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceCreated":{"description":"Filter whether or not the resource in the log was created","type":"boolean"},"resourceName":{"description":"The name of the resource that was created (or attempted to be created)","type":"string"},"resourceResponse":{"description":"A string describing the response from the resource when it was created (or attempted to be created). This will be null on a success, but it will be a string of errors in the case of a failure","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"call-history.response":{"properties":{"callId":{"description":"The unique ID of the call","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","maximum":10000,"type":"string"},"callType":{"description":"The type of the call. Possible values are 'DIALCAST', 'SIP_SPEAKER', 'PHONE', 'DIAL_TO_INTERCOM', 'CANCEL_BROADCASTS', 'UCAAS_PROVIDER' and 'UNDEFINED'.","example":"DIALCAST","maximum":10000,"minimum":5,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"duration":{"description":"The calculated duration of the call in milliseconds","example":76525,"type":"integer"},"endTime":{"description":"The end time of the call session","example":"2026-01-07T16:39:57.964Z","format":"date-time","type":"string"},"endpointId":{"description":"Endpoint identifier associated with the call","example":"95290045-0b4f-11f1-846e-f17869fff289","format":"uuid","type":"string"},"fromDisplayName":{"description":"The display name from the 'From' header","example":"Gabriel Ice","maximum":10000,"type":"string"},"fromUri":{"description":"The URI from the 'From' header","example":"sip:1@10.3.100.119","maximum":10000,"type":"string"},"id":{"description":"The unique ID of the call history record","example":"95290045-0b4f-11f1-846e-f17869fff289","format":"uuid","type":"string"},"notificationId":{"description":"The ID of the notification associated with this call","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"provider":{"description":"The name of the provider","example":"Yoyodyne","maximum":10000,"type":"string"},"resolution":{"description":"The call resolution based on SIP response (OK, Failed, or Redirect)","example":"OK","maximum":10000,"type":"string"},"sessionActivity":{"description":"A JSON array containing the detailed SIP and SDP session activity events","example":[{"sdp":{"codec":"PCMU","local":"10.3.100.7:32074","protocol":"RTP","remote":"10.3.100.7:14724","stream-direction":"sendrecv"},"sip":{"early-offer":true,"from":"1613","from-host":"10.3.100.7:5160","method":"INVITE","response":"200 (OK)","response-code":200,"time":"2026-03-04 10:02:31,242","to":"125507","to-host":"10.3.100.7:5060","transport-protocol":"TCP","user-agent":"Asterisk PBX 20.7.0"},"timestamp":1772640151242},{"sdp":{"codec":"PCMU","local":"10.3.100.7:32074","protocol":"RTP","remote":"172.30.253.155:4000","stream-direction":"sendrecv"},"sip":{"early-offer":true,"from":"1613","from-host":"10.3.100.7:5160","method":"INVITE","response":"200 (OK)","response-code":200,"time":"2026-03-04 10:02:31,271","to":"125507","to-host":"10.3.100.7:5060","transport-protocol":"TCP","user-agent":"Asterisk PBX 20.7.0"},"timestamp":1772640151271},{"sdp":{"codec":"PCMU","local":"10.3.100.7:32074","protocol":"RTP","remote":"10.3.100.7:14724","stream-direction":"sendrecv"},"sip":{"early-offer":true,"from":"1613","from-host":"10.3.100.7:5160","method":"INVITE","response":"200 (OK)","response-code":200,"time":"2026-03-04 10:02:33,809","to":"125507","to-host":"10.3.100.7:5060","transport-protocol":"TCP","user-agent":"Asterisk PBX 20.7.0"},"timestamp":1772640153809},{"sip":{"from":"1613","from-host":"10.3.100.7:5160","method":"BYE","response":"200 (OK)","response-code":200,"time":"2026-03-04 10:02:33,827","to":"125507","to-host":"10.3.100.7:5060","transport-protocol":"TCP","user-agent":"Asterisk PBX 20.7.0"},"timestamp":1772640153827}],"format":"json","type":"string"},"startTime":{"description":"The start time of the call session","example":"2026-01-07T16:38:41.439Z","format":"date-time","type":"string"},"toDisplayName":{"description":"The display name from the 'To' header","example":"Maxine Tarnow","maximum":10000,"type":"string"},"toUri":{"description":"The URI from the 'To' header","example":"sip:111@10.3.100.119","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"clear-devices-schedules.post-request":{"properties":{"cronExpression":{"description":"Cron expression associated with the clear devices schedule. [Follow this link for more details](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html#format)","example":"0 0 12 * * ?","maximum":140,"type":"string"},"name":{"description":"Name of the Clear Devices Schedule","example":"Clear at noon daily","maximum":140,"type":"string"}},"required":["name","cronExpression"],"type":"object"},"clear-devices-schedules.put-request":{"properties":{"cronExpression":{"description":"Cron expression associated with the clear devices schedule. [Follow this link for more details](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html#format)","example":"0 0 12 * * ?","maximum":140,"type":"string"},"name":{"description":"Name of the Clear Devices Schedule","example":"Clear at noon daily","maximum":140,"type":"string"}},"required":[],"type":"object"},"clear-devices-schedules.response":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"cronExpression":{"description":"Cron expression associated with the clear devices schedule. [Follow this link for more details](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html#format)","example":"0 0 12 * * ?","maximum":140,"type":"string"},"id":{"description":"ID of the Clear Devices Schedule","format":"uuid","type":"string"},"name":{"description":"Name of the Clear Devices Schedule","example":"Clear at noon daily","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"syncId":{"description":"The ID of this record in the Fusion database. Used for optimizing sync performance.","example":"c86b18c3-d73e-11ee-bfa2-671d9a63925c:1709237514553","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"collaboration-groups.post-request":{"properties":{"distributionListIds":{"description":"Distribution lists to join in the collaboration group","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"isShared":{"description":"Denotes whether or not this collaboration group is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the collaboration group","example":"Department Heads","maximum":140,"type":"string"},"properties":{"$ref":"#/components/schemas/_collaboration-groups.properties","description":"The collaboration group properties specific to the collaboration group type"},"type":{"description":"The type of collaboration group that will be initiated; must match the device-type value of an existing collaboration extension<br>_Specifying value 'conference-call' requires 'Respond'._<br>_Specifying value 'outbound-rss' requires 'Reach'._<br>_Specifying value 'cisco-spark' requires 'Reach'._<br>_Specifying value 'outbound-cap' requires 'Reach'._<br>_Specifying value 'msteams-channel' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":"outbound-rss","maximum":80,"type":"string"},"userIds":{"description":"Users to join in the collaboration group","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["name","type"],"type":"object"},"collaboration-groups.put-request":{"properties":{"distributionListIds":{"description":"Distribution lists to join in the collaboration group","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"isShared":{"description":"Denotes whether or not this collaboration group is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the collaboration group","example":"Department Heads","maximum":140,"type":"string"},"properties":{"$ref":"#/components/schemas/_collaboration-groups.properties","description":"The collaboration group properties specific to the collaboration group type"},"userIds":{"description":"Users to join in the collaboration group","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"confirmation-requests.post-request":{"properties":{"expirationPeriod":{"description":"Duration in seconds for which the confirmation request will be active and responses will be accepted. Defaults to 0, which means the confirmation request is available to accept responses indefinitely. If supplied, must be between 60 (one minute) and 2592000 (thirty days).","example":36000,"type":"integer"},"initiateTrackingOptions":{"description":"Matched with options you can specify which `options` responses should initiate a tracking event.","example":[true,false],"items":{"type":"boolean"},"maximum":16,"type":"array","uniqueItems":true},"isShared":{"description":"Denotes whether or not this confirmation request is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the confirmation request, which is the prompt that will be presented to the user.","example":"Are you safe?","maximum":140,"type":"string"},"options":{"description":"A list of all the response choices that will be available to the recipient. At most 16 options may be provided.","example":["No, please call me!","Atop Mount Olympus"],"items":{"type":"string"},"maximum":16,"minimum":1,"type":"array","uniqueItems":true},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"}},"required":["name","options"],"type":"object"},"confirmation-requests.put-request":{"properties":{"expirationPeriod":{"description":"Duration in seconds for which the confirmation request will be active and responses will be accepted. Defaults to 0, which means the confirmation request is available to accept responses indefinitely. If supplied, must be between 60 (one minute) and 2592000 (thirty days).","example":36000,"type":"integer"},"initiateTrackingOptions":{"description":"Matched with options you can specify which `options` responses should initiate a tracking event.","example":[true,false],"items":{"type":"boolean"},"maximum":16,"type":"array","uniqueItems":true},"isShared":{"description":"Denotes whether or not this confirmation request is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the confirmation request, which is the prompt that will be presented to the user.","example":"Are you safe?","maximum":140,"type":"string"},"options":{"description":"A list of all the response choices that will be available to the recipient. At most 16 options may be provided.","example":["No, please call me!","Atop Mount Olympus"],"items":{"type":"string"},"maximum":16,"minimum":1,"type":"array","uniqueItems":true},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"}},"required":[],"type":"object"},"confirmation-requests.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"dynamicReplies":{"description":"A list of Dynamic Replies attached to this confirmation request, which determine immediate reply behavior.","items":{"$ref":"#/components/schemas/_confirmation-requests_dynamic-replies.response"},"type":"array"},"escalationRules":{"description":"A list of Escalation Rules attached to this confirmation request, which determine post-response behavior.","items":{"$ref":"#/components/schemas/confirmation-requests_escalation-rules.response"},"type":"array"},"expirationPeriod":{"description":"Duration in seconds for which the confirmation request will be active and responses will be accepted. Defaults to 0, which means the confirmation request is available to accept responses indefinitely. If supplied, must be between 60 (one minute) and 2592000 (thirty days).","example":36000,"type":"integer"},"facilityId":{"description":"The ID of the facility this confirmation request belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"ID of the Confirmation Request","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"initiateTrackingOptions":{"description":"Matched with options you can specify which `options` responses should initiate a tracking event.","example":[true,false],"items":{"type":"boolean"},"maximum":16,"type":"array","uniqueItems":true},"isShared":{"description":"Denotes whether or not this confirmation request is globally shared","example":true,"type":"boolean"},"name":{"description":"The name of the confirmation request, which is the prompt that will be presented to the user.","example":"Are you safe?","maximum":140,"type":"string"},"options":{"description":"A list of all the response choices that will be available to the recipient. At most 16 options may be provided.","example":["No, please call me!","Atop Mount Olympus"],"items":{"type":"string"},"maximum":16,"minimum":1,"type":"array","uniqueItems":true},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"confirmation-requests_clone.request":{"properties":{"name":{"description":"The name of the confirmation request, which is the prompt that will be presented to the user.","example":"Are you safe? (Copy)","maximum":140,"type":"string"}},"required":[],"type":"object"},"confirmation-requests_dynamic-replies.post-request":{"properties":{"every":{"description":"Used without `quota`, `first` or `rest`, to reply in the same way to all matching confirmation responses.","example":"Get inside!","maximum":255,"type":"string"},"first":{"description":"Can only be used when a `quota` and `rest` are specified. The text with which to immediately reply to the first `quota` respondents.","example":null,"maximum":255,"type":"string"},"optionLabel":{"description":"The confirmation response option text the dynamic reply rule applies to","example":"I am safe: outside building","maximum":10000,"type":"string"},"quota":{"description":"(Required for quota-based replies only) The first `quota` respondents will receive the `first` reply text. All others will receive the `rest` text.","example":null,"type":"integer"},"rest":{"description":"Once `quota` number of respondents have confirmed with the `optionLabel` specified, we reply with the `rest` text to all subsequent confirmations of that `optionLabel` option.","example":null,"maximum":255,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"}},"required":["optionLabel"],"type":"object"},"confirmation-requests_dynamic-replies.put-request":{"properties":{"every":{"description":"Used without `quota`, `first` or `rest`, to reply in the same way to all matching confirmation responses.","example":"Get inside!","maximum":255,"type":"string"},"first":{"description":"Can only be used when a `quota` and `rest` are specified. The text with which to immediately reply to the first `quota` respondents.","example":null,"maximum":255,"type":"string"},"optionLabel":{"description":"The confirmation response option text the dynamic reply rule applies to","example":"I am safe: outside building","maximum":10000,"type":"string"},"quota":{"description":"(Required for quota-based replies only) The first `quota` respondents will receive the `first` reply text. All others will receive the `rest` text.","example":null,"type":"integer"},"rest":{"description":"Once `quota` number of respondents have confirmed with the `optionLabel` specified, we reply with the `rest` text to all subsequent confirmations of that `optionLabel` option.","example":null,"maximum":255,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"}},"required":[],"type":"object"},"confirmation-requests_escalation-rules.post-request":{"properties":{"areaOfInterestIds":{"description":"The ids of the Areas of Interests to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["b103e6bd-becd-11ee-9ee1-cb32bf4aacac"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"body":{"description":"Optional detailed body text to be sent if the rule triggers","example":"Be on the lookout","maximum":10000,"type":"string"},"collaborationGroupIds":{"description":"The ids of the Collaboration Groups to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["b0c8163c-becd-11ee-9ee1-f903c1e257f9"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"comparison":{"description":"Controls the type of comparison to be performed between the number of responses which match `optionLabel` and the value of `comparisonValue`. The rule will trigger if this comparison result is greater than, less than, equal, or not equal, respectively.","enum":["GT","LT","EQ","NE"],"example":"LT","type":"string"},"comparisonValue":{"description":"The value to which the number of responses matching `optionLabel` should be compared.","example":1,"type":"integer"},"confirmationRequestId":{"description":"ID of the associated confirmation request","format":"uuid","type":"string"},"delay":{"description":"Seconds after notification was sent","example":3600,"type":"integer"},"deviceGroupIds":{"description":"The ids of the Device Groups to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"The ids of the Distribution Lists to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"optionLabel":{"description":"The Confirmation Request option to be counted when `delay` has elapsed and the rule triggers. The number of user responses matching this value is compared with `comparisonValue`, and if their relationship is as described by `comparison`, the escalation message is sent.","example":"Yes, I have seen the intruder","maximum":10000,"type":"string"},"subject":{"description":"The subject to use for the escalation message which is sent if this rule is triggered.","example":"Still no sightings","maximum":255,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"userIds":{"description":"The user recipients of the escalation notification","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["delay","optionLabel","comparison","comparisonValue","subject"],"type":"object"},"confirmation-requests_escalation-rules.put-request":{"properties":{"areaOfInterestIds":{"description":"The ids of the Areas of Interests to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["b103e6bd-becd-11ee-9ee1-cb32bf4aacac"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"body":{"description":"Optional detailed body text to be sent if the rule triggers","example":"Be on the lookout","maximum":10000,"type":"string"},"collaborationGroupIds":{"description":"The ids of the Collaboration Groups to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["b0c8163c-becd-11ee-9ee1-f903c1e257f9"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"comparison":{"description":"Controls the type of comparison to be performed between the number of responses which match `optionLabel` and the value of `comparisonValue`. The rule will trigger if this comparison result is greater than, less than, equal, or not equal, respectively.","enum":["GT","LT","EQ","NE"],"example":"LT","type":"string"},"comparisonValue":{"description":"The value to which the number of responses matching `optionLabel` should be compared.","example":1,"type":"integer"},"confirmationRequestId":{"description":"ID of the associated confirmation request","format":"uuid","type":"string"},"delay":{"description":"Seconds after notification was sent","example":3600,"type":"integer"},"deviceGroupIds":{"description":"The ids of the Device Groups to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"The ids of the Distribution Lists to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"optionLabel":{"description":"The Confirmation Request option to be counted when `delay` has elapsed and the rule triggers. The number of user responses matching this value is compared with `comparisonValue`, and if their relationship is as described by `comparison`, the escalation message is sent.","example":"Yes, I have seen the intruder","maximum":10000,"type":"string"},"subject":{"description":"The subject to use for the escalation message which is sent if this rule is triggered.","example":"Still no sightings","maximum":255,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"userIds":{"description":"The user recipients of the escalation notification","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"confirmation-requests_escalation-rules.response":{"properties":{"areaOfInterestIds":{"description":"The ids of the Areas of Interests to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["b103e6bd-becd-11ee-9ee1-cb32bf4aacac"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"body":{"description":"Optional detailed body text to be sent if the rule triggers","example":"Be on the lookout","maximum":10000,"type":"string"},"collaborationGroupIds":{"description":"The ids of the Collaboration Groups to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["b0c8163c-becd-11ee-9ee1-f903c1e257f9"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"comparison":{"description":"Controls the type of comparison to be performed between the number of responses which match `optionLabel` and the value of `comparisonValue`. The rule will trigger if this comparison result is greater than, less than, equal, or not equal, respectively.","enum":["GT","LT","EQ","NE"],"example":"LT","type":"string"},"comparisonValue":{"description":"The value to which the number of responses matching `optionLabel` should be compared.","example":1,"type":"integer"},"confirmationRequestId":{"description":"ID of the associated confirmation request","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"delay":{"description":"Seconds after notification was sent","example":3600,"type":"integer"},"deviceGroupIds":{"description":"The ids of the Device Groups to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"The ids of the Distribution Lists to which this escalation message will be sent if the rule matches when `delay` has elapsed since sending the original notification.","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"id":{"description":"ID of the escalation rule","format":"uuid","type":"string"},"optionLabel":{"description":"The Confirmation Request option to be counted when `delay` has elapsed and the rule triggers. The number of user responses matching this value is compared with `comparisonValue`, and if their relationship is as described by `comparison`, the escalation message is sent.","example":"Yes, I have seen the intruder","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subject":{"description":"The subject to use for the escalation message which is sent if this rule is triggered.","example":"Still no sightings","maximum":255,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userIds":{"description":"The user recipients of the escalation notification","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"cucm-clusters.post-request":{"properties":{"axlAddress":{"description":"A comma-delimited list of IP Addresses that InformaCast Fusion will try when contacting the Administrative XML (AXL) service. These will always be tried in priority order, from left to right.","example":"172.30.207.49","maximum":255,"type":"string"},"axlPassword":{"description":"The password with which InformaCast Fusion will attempt to contact the Administrative XML (AXL) service.","maximum":64,"minimum":1,"type":"string"},"axlUser":{"description":"The username with which InformaCast Fusion will attempt to contact the Administrative XML (AXL) service. Used to discover and configure phones.","example":"axlUser","maximum":20,"type":"string"},"capfAddress":{"description":"Only used when `secureConnection` is `true`. The address of the Certificate Authority Proxy Function (CAPF) Service, used for generating certificates.","example":"172.30.207.49","maximum":255,"type":"string"},"capfPort":{"description":"Only used when `secureConnection` is `true`. The port of the Certificate Authority Proxy Function (CAPF) Service, used for generating certificates.","example":3804,"type":"integer"},"name":{"description":"Name of the CUCM cluster","example":"West Cluster","maximum":255,"type":"string"},"nextAuthenticationUrl":{"description":"If InformaCast Fusion determines that it should not attempt to handle a phone authentication request, it will redirect those authentication requests to this location","example":null,"maximum":255,"type":"string"},"secureConnection":{"description":"Specifies whether a secure CTI connection will be established with the Cisco Unified Communications Manager cluster, i.e. `true`=secure CTI connection, `false`=non-secure CTI connection. Secure CTI connections require Cisco Unified CM 12.5(1)SU7 or 14SU2 and later running in mixed mode.","example":true,"type":"boolean"},"snmpAuthPassword":{"description":"Only used with SNMP Version 3. The authentication password that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","maximum":10000,"type":"string"},"snmpCommunity":{"description":"Only used with SNMP Version 2. The community name that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","example":"ICVA","maximum":20,"type":"string"},"snmpEncryptPassword":{"description":"Only used with SNMP Version 3. The privacy password that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","maximum":10000,"type":"string"},"snmpUsername":{"description":"Only used with SNMP Version 3. The username that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","example":null,"maximum":32,"type":"string"},"snmpVersion":{"description":"Specifies the version of SNMP InformaCast Fusion will use when discovering phones. Valid values are `2` or `3`. If `2`, then only `snmpCommunity` is required. If `3`, then only `snmpUsername`, `snmpAuthPassword`, and `snmpEncryptPassword` are required.","example":"2","maximum":10000,"type":"string"},"tftpAddress":{"description":"Only used when `secureConnection` is `true`. The address of the Trivial File Transfer Protocol (TFTP) Service, used for downloading certificates.","example":"172.30.207.49","maximum":255,"type":"string"},"tftpPort":{"description":"Only used when `secureConnection` is `true`. The port of the Trivial File Transfer Protocol (TFTP) Service, used for downloading certificates.","example":68,"type":"integer"}},"required":["name","snmpVersion","axlAddress","axlUser"],"type":"object"},"cucm-clusters.put-request":{"properties":{"axlAddress":{"description":"A comma-delimited list of IP Addresses that InformaCast Fusion will try when contacting the Administrative XML (AXL) service. These will always be tried in priority order, from left to right.","example":"172.30.207.49","maximum":255,"type":"string"},"axlPassword":{"description":"The password with which InformaCast Fusion will attempt to contact the Administrative XML (AXL) service.","maximum":64,"minimum":1,"type":"string"},"axlUser":{"description":"The username with which InformaCast Fusion will attempt to contact the Administrative XML (AXL) service. Used to discover and configure phones.","example":"axlUser","maximum":20,"type":"string"},"capfAddress":{"description":"Only used when `secureConnection` is `true`. The address of the Certificate Authority Proxy Function (CAPF) Service, used for generating certificates.","example":"172.30.207.49","maximum":255,"type":"string"},"capfPort":{"description":"Only used when `secureConnection` is `true`. The port of the Certificate Authority Proxy Function (CAPF) Service, used for generating certificates.","example":3804,"type":"integer"},"name":{"description":"Name of the CUCM cluster","example":"West Cluster","maximum":255,"type":"string"},"nextAuthenticationUrl":{"description":"If InformaCast Fusion determines that it should not attempt to handle a phone authentication request, it will redirect those authentication requests to this location","example":null,"maximum":255,"type":"string"},"secureConnection":{"description":"Specifies whether a secure CTI connection will be established with the Cisco Unified Communications Manager cluster, i.e. `true`=secure CTI connection, `false`=non-secure CTI connection. Secure CTI connections require Cisco Unified CM 12.5(1)SU7 or 14SU2 and later running in mixed mode.","example":true,"type":"boolean"},"snmpAuthPassword":{"description":"Only used with SNMP Version 3. The authentication password that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","maximum":10000,"type":"string"},"snmpCommunity":{"description":"Only used with SNMP Version 2. The community name that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","example":"ICVA","maximum":20,"type":"string"},"snmpEncryptPassword":{"description":"Only used with SNMP Version 3. The privacy password that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","maximum":10000,"type":"string"},"snmpUsername":{"description":"Only used with SNMP Version 3. The username that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","example":null,"maximum":32,"type":"string"},"snmpVersion":{"description":"Specifies the version of SNMP InformaCast Fusion will use when discovering phones. Valid values are `2` or `3`. If `2`, then only `snmpCommunity` is required. If `3`, then only `snmpUsername`, `snmpAuthPassword`, and `snmpEncryptPassword` are required.","example":"2","maximum":10000,"type":"string"},"tftpAddress":{"description":"Only used when `secureConnection` is `true`. The address of the Trivial File Transfer Protocol (TFTP) Service, used for downloading certificates.","example":"172.30.207.49","maximum":255,"type":"string"},"tftpPort":{"description":"Only used when `secureConnection` is `true`. The port of the Trivial File Transfer Protocol (TFTP) Service, used for downloading certificates.","example":68,"type":"integer"}},"required":[],"type":"object"},"cucm-clusters.response":{"properties":{"axlAddress":{"description":"A comma-delimited list of IP Addresses that InformaCast Fusion will try when contacting the Administrative XML (AXL) service. These will always be tried in priority order, from left to right.","example":"172.30.207.49","maximum":255,"type":"string"},"axlId":{"description":"If this cluster was imported from an earlier version of InformaCast Fusion, will display the CUCM cluster ID from the AXL service","example":"qa-ucm14s","type":"string"},"axlUser":{"description":"The username with which InformaCast Fusion will attempt to contact the Administrative XML (AXL) service. Used to discover and configure phones.","example":"axlUser","maximum":20,"type":"string"},"capfAddress":{"description":"Only used when `secureConnection` is `true`. The address of the Certificate Authority Proxy Function (CAPF) Service, used for generating certificates.","example":"172.30.207.49","maximum":255,"type":"string"},"capfPort":{"description":"Only used when `secureConnection` is `true`. The port of the Certificate Authority Proxy Function (CAPF) Service, used for generating certificates.","example":3804,"type":"integer"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"cucmClusterFusionServers":{"description":"The current cluster’s configured CUCM Cluster Fusion Servers","items":{"$ref":"#/components/schemas/_cucm-clusters.cucm-cluster-fusion-servers"},"type":"array"},"id":{"description":"Id of the CUCM cluster","example":"f16f8ef0-708a-11eb-9c8c-17221dd62a89","format":"uuid","type":"string"},"name":{"description":"Name of the CUCM cluster","example":"West Cluster","maximum":255,"type":"string"},"nextAuthenticationUrl":{"description":"If InformaCast Fusion determines that it should not attempt to handle a phone authentication request, it will redirect those authentication requests to this location","example":null,"maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"secureConnection":{"description":"Specifies whether a secure CTI connection will be established with the Cisco Unified Communications Manager cluster, i.e. `true`=secure CTI connection, `false`=non-secure CTI connection. Secure CTI connections require Cisco Unified CM 12.5(1)SU7 or 14SU2 and later running in mixed mode.","example":true,"type":"boolean"},"snmpCommunity":{"description":"Only used with SNMP Version 2. The community name that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","example":"ICVA","maximum":20,"type":"string"},"snmpUsername":{"description":"Only used with SNMP Version 3. The username that was created in CUCM for InformaCast Fusion. SNMP is used to obtain the IP addresses of registered phones when building the phone cache.","example":null,"maximum":32,"type":"string"},"snmpVersion":{"description":"Specifies the version of SNMP InformaCast Fusion will use when discovering phones. Valid values are `2` or `3`. If `2`, then only `snmpCommunity` is required. If `3`, then only `snmpUsername`, `snmpAuthPassword`, and `snmpEncryptPassword` are required.","example":"2","maximum":10000,"type":"string"},"tftpAddress":{"description":"Only used when `secureConnection` is `true`. The address of the Trivial File Transfer Protocol (TFTP) Service, used for downloading certificates.","example":"172.30.207.49","maximum":255,"type":"string"},"tftpPort":{"description":"Only used when `secureConnection` is `true`. The port of the Trivial File Transfer Protocol (TFTP) Service, used for downloading certificates.","example":68,"type":"integer"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"cucm-clusters_fusion-servers.post-request":{"properties":{"allowRestartForJtapiUpdate":{"description":"If `true`, will allow this operation even if the JTAPI version of the CUCM Cluster and Fusion Server do not match, which will restart the Fusion Server automatically when saved. Otherwise, throws a validation error if they do not match.","type":"boolean"},"cmAddress":{"description":"A comma-delimited list of IP Addresses used to connect to the CUCM CTIManager service; these will always be tried in priority order, from left to right","example":"172.30.207.49","maximum":255,"type":"string"},"cmPassword":{"description":"The password used to connect to the CUCM CTIManager service; used when JTAPI enabled only","example":"cmPassword","maximum":64,"minimum":1,"type":"string"},"cmUsername":{"description":"The username used to connect to the CUCM CTIManager service; used when JTAPI enabled only.","example":"cmUser","maximum":255,"type":"string"},"endpointId":{"description":"The Fusion Server ID with which this configuration should be associated","example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa","format":"uuid","type":"string"},"jtapiPhoneActivationEnabled":{"description":"Only used when `makeCtiConnection` is `true`. If `true`, phones are activated via JTAPI requests sent by InformaCast to the primary CUCM cluster. If `false`, phones are activated via HTTP requests sent from InformaCast to IP phones.","example":false,"type":"boolean"},"jtapiStaticTerminalsEnabled":{"description":"Only used when `jtapiPhoneActivationEnabled` is `true`. If `true`, will eagerly create telephony terminals for all phones associated with the cluster and assigned to this Fusion Server by Activation Group, speeding up activation time. If `false`, terminals are created during activation and discarded afterward.","example":false,"type":"boolean"},"makeCtiConnection":{"description":"Allows CTI connections to this CUCM cluster and makes this CUCM cluster the \"Primary\" cluster for this Fusion Server. A Fusion Server may have at most 1 Primary Cluster. Setting this value to true will unset it for any other CUCM cluster assigned to this Fusion Server.","example":true,"type":"boolean"}},"required":["endpointId","cucmClusterId","cmAddress","cmUsername"],"type":"object"},"cucm-clusters_fusion-servers.put-request":{"properties":{"allowRestartForJtapiUpdate":{"description":"If `true`, will allow this operation even if the JTAPI version of the CUCM Cluster and Fusion Server do not match, which will restart the Fusion Server automatically when saved. Otherwise, throws a validation error if they do not match.","type":"boolean"},"cmAddress":{"description":"A comma-delimited list of IP Addresses used to connect to the CUCM CTIManager service; these will always be tried in priority order, from left to right","example":"172.30.207.49","maximum":255,"type":"string"},"cmPassword":{"description":"The password used to connect to the CUCM CTIManager service; used when JTAPI enabled only","example":"cmPassword","maximum":64,"minimum":1,"type":"string"},"cmUsername":{"description":"The username used to connect to the CUCM CTIManager service; used when JTAPI enabled only.","example":"cmUser","maximum":255,"type":"string"},"endpointId":{"description":"The Fusion Server ID with which this configuration should be associated","example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa","format":"uuid","type":"string"},"jtapiPhoneActivationEnabled":{"description":"Only used when `makeCtiConnection` is `true`. If `true`, phones are activated via JTAPI requests sent by InformaCast to the primary CUCM cluster. If `false`, phones are activated via HTTP requests sent from InformaCast to IP phones.","example":false,"type":"boolean"},"jtapiStaticTerminalsEnabled":{"description":"Only used when `jtapiPhoneActivationEnabled` is `true`. If `true`, will eagerly create telephony terminals for all phones associated with the cluster and assigned to this Fusion Server by Activation Group, speeding up activation time. If `false`, terminals are created during activation and discarded afterward.","example":false,"type":"boolean"},"makeCtiConnection":{"description":"Allows CTI connections to this CUCM cluster and makes this CUCM cluster the \"Primary\" cluster for this Fusion Server. A Fusion Server may have at most 1 Primary Cluster. Setting this value to true will unset it for any other CUCM cluster assigned to this Fusion Server.","example":true,"type":"boolean"}},"required":[],"type":"object"},"cucm-clusters_fusion-servers.response":{"properties":{"cmAddress":{"description":"A comma-delimited list of IP Addresses used to connect to the CUCM CTIManager service; these will always be tried in priority order, from left to right","example":"172.30.207.49","maximum":255,"type":"string"},"cmUsername":{"description":"The username used to connect to the CUCM CTIManager service; used when JTAPI enabled only.","example":"cmUser","maximum":255,"type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"cucmClusterId":{"description":"ID of the Fusion server.","example":"f16f8ef0-708a-11eb-9c8c-17221dd62a89","format":"uuid","type":"string"},"endpoint":{"description":"An object containing the ID and name of the Fusion Server associated with this configuration","properties":{"id":{"description":"The ID of the Fusion Server associated with this configuration","example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa","format":"uuid","type":"string"},"name":{"description":"The name of the Fusion Server associated with this configuration","example":"Fusion 2","type":"string"}},"type":"object"},"endpointId":{"description":"The Fusion Server ID with which this configuration should be associated","example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa","format":"uuid","type":"string"},"id":{"description":"ID of Fusion server CUCM settings.","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab","format":"uuid","type":"string"},"isPhoneGatherer":{"description":"Indicates whether the Fusion Server handles contacting CUCM and gathering the list of phones. A CUCM Cluster must have exactly one phone gatherer server","example":true,"type":"boolean"},"jtapiPhoneActivationEnabled":{"description":"Only used when `makeCtiConnection` is `true`. If `true`, phones are activated via JTAPI requests sent by InformaCast to the primary CUCM cluster. If `false`, phones are activated via HTTP requests sent from InformaCast to IP phones.","example":false,"type":"boolean"},"jtapiStaticTerminalsEnabled":{"description":"Only used when `jtapiPhoneActivationEnabled` is `true`. If `true`, will eagerly create telephony terminals for all phones associated with the cluster and assigned to this Fusion Server by Activation Group, speeding up activation time. If `false`, terminals are created during activation and discarded afterward.","example":false,"type":"boolean"},"makeCtiConnection":{"description":"Allows CTI connections to this CUCM cluster and makes this CUCM cluster the \"Primary\" cluster for this Fusion Server. A Fusion Server may have at most 1 Primary Cluster. Setting this value to true will unset it for any other CUCM cluster assigned to this Fusion Server.","example":true,"type":"boolean"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"syncId":{"description":"The current sync ID of the CUCM Cluster, which Fusion servers can use to verify their data is up to date.","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab:1613413676919","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"cucm-clusters_fusion-servers_phone-gatherer.request":{"properties":{},"required":[],"type":"object"},"device-groups-response-merged":{"properties":{"additionIds":{"description":"The specific device icop_ids that are in the Group regardless of filters and other Device Groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"additions":{"description":"The specific devices that are in the group regardless of filters and other device groups.","items":{"$ref":"#/components/schemas/devices.response"},"type":"array"},"baseDeviceGroupIds":{"description":"If present, contains a list of Device Group ids that form the starting Devices for this Device Group.","example":["9fb8c937-fd05-11e6-a30e-e198ed79b70a"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"baseDeviceGroups":{"description":"If present, contains the list of Device Group `id`s that form the starting Devices for this Device Group.","example":[],"items":{"$ref":"#/components/schemas/_device-groups-response"},"type":"array"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"exclusionIds":{"description":"The specific device icop_ids that are excluded from this device group regardless of filters and other device groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusions":{"description":"The specific devices that are excluded from this device group regardless of filters and other device groups.","items":{"$ref":"#/components/schemas/devices.response"},"type":"array"},"facilityId":{"description":"Facility ID associated with the device group.","format":"uuid","type":"string"},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Device Group are combined.  If this device group is also configured with baseDeviceGroupIds, the filters will further adjust the devices in the group.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"REJECT","type":"string"},"filters":{"$ref":"#/components/schemas/_device-groups.filters","description":"Defines rules to dynamically determine the Devices in this Device Group, combined as specified by filterType. If this Device Group is also filtered with baseDeviceGroupIds, these filters will further adjust the devices in the group."},"id":{"description":"The `id` of this specific device group, allowing it to be manipulated or retrieved individually.","example":"62f123c8-e0a5-11ee-9d3d-89d4670a1082","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this device group is globally shared","example":true,"type":"boolean"},"logicalExpression":{"description":"Specify a combination of rules based on the index of the rule and using logical operators 'and' and 'or' along with parentheses. Used when filterType is 'LOGICAL_EXPRESSION","example":"(1 AND 2)","maximum":10000,"type":"string"},"name":{"description":"Name of device group","example":"All Staff Phones","maximum":140,"type":"string"},"numIdns":{"description":"Number of matching IDNs. Included if query contains the include-device-counts set to true.","example":100,"type":"number"},"numPhones":{"description":"Number of matching phones. Included if query contains the include-device-counts set to true.","example":250,"type":"number"},"numPlugins":{"description":"Number of matching plugins. Included if query contains the include-device-counts set to true.","example":2,"type":"number"},"numSpeakers":{"description":"Number of matching speakers. Included if query contains the include-device-counts set to true.","example":14,"type":"number"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was updated","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"}},"required":["name"],"type":"object"},"device-groups.post-request":{"properties":{"additionIds":{"description":"The specific device icop_ids that are in the Group regardless of filters and other Device Groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"baseDeviceGroupIds":{"description":"If present, contains a list of Device Group ids that form the starting Devices for this Device Group.","example":["9fb8c937-fd05-11e6-a30e-e198ed79b70a"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusionIds":{"description":"The specific device icop_ids that are excluded from this device group regardless of filters and other device groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Device Group are combined.  If this device group is also configured with baseDeviceGroupIds, the filters will further adjust the devices in the group.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"REJECT","type":"string"},"filters":{"$ref":"#/components/schemas/_device-groups.filters","description":"Defines rules to dynamically determine the Devices in this Device Group, combined as specified by filterType. If this Device Group is also filtered with baseDeviceGroupIds, these filters will further adjust the devices in the group."},"isShared":{"description":"Denotes whether or not this device group is globally shared","example":true,"type":"boolean"},"logicalExpression":{"description":"Specify a combination of rules based on the index of the rule and using logical operators 'and' and 'or' along with parentheses. Used when filterType is 'LOGICAL_EXPRESSION","example":"(1 AND 2)","maximum":10000,"type":"string"},"name":{"description":"Name of device group","example":"All Staff Phones","maximum":140,"type":"string"}},"required":["name"],"type":"object"},"device-groups.put-request":{"properties":{"additionIds":{"description":"The specific device icop_ids that are in the Group regardless of filters and other Device Groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"baseDeviceGroupIds":{"description":"If present, contains a list of Device Group ids that form the starting Devices for this Device Group.","example":["9fb8c937-fd05-11e6-a30e-e198ed79b70a"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"exclusionIds":{"description":"The specific device icop_ids that are excluded from this device group regardless of filters and other device groups. This is either the MAC Address (for speakers and idns) or the device identifier (for all other devices).","example":["CiscoPhone-External:SEP381C1ABA7908"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"filterType":{"description":"Controls how the filters that define rules for dynamically determining the Devices in this Device Group are combined.  If this device group is also configured with baseDeviceGroupIds, the filters will further adjust the devices in the group.","enum":["OR","AND","ACCEPT","REJECT","LOGICAL_EXPRESSION"],"example":"REJECT","type":"string"},"filters":{"$ref":"#/components/schemas/_device-groups.filters","description":"Defines rules to dynamically determine the Devices in this Device Group, combined as specified by filterType. If this Device Group is also filtered with baseDeviceGroupIds, these filters will further adjust the devices in the group."},"isShared":{"description":"Denotes whether or not this device group is globally shared","example":true,"type":"boolean"},"logicalExpression":{"description":"Specify a combination of rules based on the index of the rule and using logical operators 'and' and 'or' along with parentheses. Used when filterType is 'LOGICAL_EXPRESSION","example":"(1 AND 2)","maximum":10000,"type":"string"},"name":{"description":"Name of device group","example":"All Staff Phones","maximum":140,"type":"string"}},"required":[],"type":"object"},"device-groups_alarm-action-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The alarm id","format":"uuid","type":"string"},"resourceName":{"description":"The alarm name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_base-device-group-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the device group","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the device group","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The device group id","format":"uuid","type":"string"},"resourceName":{"description":"The device group name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_callaware-call-redirect-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_callaware-routing-request-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_clone.request":{"properties":{"name":{"description":"Name of device group","example":"All Staff Phones (Copy)","maximum":140,"type":"string"}},"required":[],"type":"object"},"device-groups_dialcast-dialing-configuration-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the dialing configuration","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the dialing configuration","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The Dialcast Dialing Configuration id","format":"uuid","type":"string"},"resourceName":{"description":"The Dialcast Dialing Configuration name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_escalation-rule-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the confirmation request","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the confirmation request","type":"string"},"parentResourceId":{"description":"The confirmation request id","format":"uuid","type":"string"},"parentResourceName":{"description":"The confirmation request name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The escalation rule id","format":"uuid","type":"string"},"resourceName":{"description":"The escalation rule option label","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_message-template-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the message template","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the message template","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The message template id","format":"uuid","type":"string"},"resourceName":{"description":"The message template name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_night-bell-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_ring-list-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the ring list","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the ring list","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The ring list id","format":"uuid","type":"string"},"resourceName":{"description":"The ring list name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_scheduled-notification-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the scheduled notification","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the scheduled notification","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The scheduled notification id","format":"uuid","type":"string"},"resourceName":{"description":"The scheduled notification name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"device-groups_site-role-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the site role","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the site role","type":"string"},"parentResourceId":{"description":"The id of the site associating this device group with the site role","format":"uuid","type":"string"},"parentResourceName":{"description":"The name of the site associating this device group with the site role","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The site role id","format":"uuid","type":"string"},"resourceName":{"description":"The site role name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"devices.response":{"properties":{"attributes":{"$ref":"#/components/schemas/_devices.attributes","description":"Device Attributes"},"defunct":{"description":"Whether this device appears to no longer be available","example":false,"type":"boolean"},"description":{"description":"The description of the device","example":"Break Room Phone","type":"string"},"deviceIdentifier":{"description":"Device type specific string used to identify the device","example":"CiscoPhone-External:SEPBC671CDD1733","type":"string"},"endpointId":{"description":"The `id` of the endpoint the device is associated with","example":"4ea5ec1a-a0ba-11cc-ba2f-079e07e86033","format":"uuid","type":"string"},"icopId":{"description":"The `id` of the device used by the on-premises fusion server","example":"CiscoPhone-External:SEP000000880000","type":"string"},"id":{"description":"The `id` of the device","example":"1b8d3a89-ae35-11cc-a719-1f83c53633aa","format":"uuid","type":"string"},"isLicensed":{"description":"Whether the device is licensed or not","example":true,"type":"boolean"},"type":{"description":"The type of device","example":"phones","type":"string"}},"required":[],"type":"object"},"devices_activation-groups.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"devices_device-groups.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"dialcast-dialing-configurations.post-request":{"properties":{"actions":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.actions","description":"The list of actions to perform"},"authentication":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.authentication","description":"The method that will be used to authenticate the caller"},"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"dialingPatternRegex":{"description":"A regular expression representing the route point and SIP DNs associated with this dialing configuration, e.g. 6(\\d\\d\\d\\d)$ or 12345","example":"6(\\d\\d\\d\\d)$","maximum":50,"type":"string"},"endpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"fallbackNotification":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.fallback-notification","description":"The optional fallback notification to send when type is of type ACTIONS_WITH_FALLBACK_NOTIFICATION"},"includeEndpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"name":{"description":"The brief name associated with the DialCast Dialing Configuration","example":"Lockdown Pattern","maximum":255,"type":"string"},"notification":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.notification","description":"The notification to send when type is of type NOTIFICATION"},"type":{"description":"The type of DialCast Dialing Configuration","enum":["NOTIFICATION","ACTIONS_WITH_FALLBACK_NOTIFICATION"],"example":"NOTIFICATION","type":"string"}},"required":["name","dialingPatternRegex","type"],"type":"object"},"dialcast-dialing-configurations.put-request":{"properties":{"actions":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.actions","description":"The list of actions to perform"},"authentication":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.authentication","description":"The method that will be used to authenticate the caller"},"dialingPatternRegex":{"description":"A regular expression representing the route point and SIP DNs associated with this dialing configuration, e.g. 6(\\d\\d\\d\\d)$ or 12345","example":"6(\\d\\d\\d\\d)$","maximum":50,"type":"string"},"endpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"fallbackNotification":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.fallback-notification","description":"The optional fallback notification to send when type is of type ACTIONS_WITH_FALLBACK_NOTIFICATION"},"includeEndpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"name":{"description":"The brief name associated with the DialCast Dialing Configuration","example":"Lockdown Pattern","maximum":255,"type":"string"},"notification":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.notification","description":"The notification to send when type is of type NOTIFICATION"},"type":{"description":"The type of DialCast Dialing Configuration","enum":["NOTIFICATION","ACTIONS_WITH_FALLBACK_NOTIFICATION"],"example":"NOTIFICATION","type":"string"}},"required":[],"type":"object"},"dialcast-dialing-configurations.response":{"properties":{"actions":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.actions","description":"The list of actions to perform"},"authentication":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.authentication","description":"The method that will be used to authenticate the caller"},"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"dialingPatternRegex":{"description":"A regular expression representing the route point and SIP DNs associated with this dialing configuration, e.g. 6(\\d\\d\\d\\d)$ or 12345","example":"6(\\d\\d\\d\\d)$","maximum":50,"type":"string"},"endpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"endpoints":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.endpoints","description":"Readonly list of endpoint to apply this DialCast Dialing Configuration to"},"facilityId":{"description":"The ID of the facility this DialCast Dialing Configuration belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"fallbackNotification":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.fallback-notification","description":"The optional fallback notification to send when type is of type ACTIONS_WITH_FALLBACK_NOTIFICATION"},"id":{"description":"ID of the DialCast Dialing Configuration","format":"uuid","type":"string"},"includeEndpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"name":{"description":"The brief name associated with the DialCast Dialing Configuration","example":"Lockdown Pattern","maximum":255,"type":"string"},"notification":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.notification","description":"The notification to send when type is of type NOTIFICATION"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"syncId":{"description":"The ID of this record in the Fusion database, used for optimizing sync performance","type":"string"},"type":{"description":"The type of DialCast Dialing Configuration","enum":["NOTIFICATION","ACTIONS_WITH_FALLBACK_NOTIFICATION"],"example":"NOTIFICATION","type":"string"},"updatedAt":{"description":"The last time the resource was updated","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"dialcast-dialing-configurations_rule-actions.response":{"properties":{"action":{"$ref":"#/components/schemas/_rule-actions.action","description":"The JSON object that describes the action to be taken when a rule matches an event, currently this can only be a webhook"},"actionResources":{"$ref":"#/components/schemas/_rule-actions.action-resources","description":"The known resources the action is linked to"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"The description of the rule action","example":"A rule action for testing.","maximum":10000,"type":"string"},"dialcastDialingConfigurationId":{"description":"The ID of the associated DialCast Dialing Configuration","example":"13242a86-7288-11ee-9ca9-cd3db9d6b864","format":"uuid","type":"string"},"id":{"description":"The ID of the rule action","example":"7fe46a86-e254-11ee-8562-11690a18fc06","format":"uuid","type":"string"},"name":{"description":"The name of the rule action","example":"For-Testing","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rule":{"description":"The JSON object that describes which events to match on using the AWS Event Ruler","example":{"event":{"dialcast":{"dialingConfigurationId":["13242a86-7288-11ee-9ca9-cd3db9d6b864"]}},"sourceType":["dialcast"]},"format":"json","type":"string"},"ruleResources":{"$ref":"#/components/schemas/_rule-actions.rule-resources","description":"The known resources the rule is linked to"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"dialcast-phone-exceptions.post-request":{"properties":{"authentication":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.authentication","description":"The method that will be used to authenticate the caller"},"authenticationOverrideEnabled":{"description":"Override authentication method","type":"boolean"},"callingPartyRegex":{"description":"A regular expression representing the phone DNs associated with this exception, e.g. 7003[8-9] or 70041","example":"7003[8-9]","maximum":50,"type":"string"},"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"endpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"includeEndpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"name":{"description":"The brief name associated with the DialCast Phone Exception","example":"Lockdown Pattern Auth","maximum":255,"type":"string"},"systemGreetingBreakKeyEnable":{"description":"If true, the caller can stop the greeting by pressing the break key. Only applicable if system greeting override is true and system greeting enabled is true","type":"boolean"},"systemGreetingEnable":{"description":"If true, the caller will hear the greeting. Only applicable if system greeting override is true","type":"boolean"},"systemGreetingOverrideEnable":{"description":"Override the system greeting","type":"boolean"}},"required":["name","callingPartyRegex","authenticationOverrideEnabled","systemGreetingOverrideEnable","systemGreetingEnable","systemGreetingBreakKeyEnable"],"type":"object"},"dialcast-phone-exceptions.put-request":{"properties":{"authentication":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.authentication","description":"The method that will be used to authenticate the caller"},"authenticationOverrideEnabled":{"description":"Override authentication method","type":"boolean"},"callingPartyRegex":{"description":"A regular expression representing the phone DNs associated with this exception, e.g. 7003[8-9] or 70041","example":"7003[8-9]","maximum":50,"type":"string"},"endpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"includeEndpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"name":{"description":"The brief name associated with the DialCast Phone Exception","example":"Lockdown Pattern Auth","maximum":255,"type":"string"},"systemGreetingBreakKeyEnable":{"description":"If true, the caller can stop the greeting by pressing the break key. Only applicable if system greeting override is true and system greeting enabled is true","type":"boolean"},"systemGreetingEnable":{"description":"If true, the caller will hear the greeting. Only applicable if system greeting override is true","type":"boolean"},"systemGreetingOverrideEnable":{"description":"Override the system greeting","type":"boolean"}},"required":[],"type":"object"},"dialcast-phone-exceptions.response":{"properties":{"authentication":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.authentication","description":"The method that will be used to authenticate the caller"},"authenticationOverrideEnabled":{"description":"Override authentication method","type":"boolean"},"callingPartyRegex":{"description":"A regular expression representing the phone DNs associated with this exception, e.g. 7003[8-9] or 70041","example":"7003[8-9]","maximum":50,"type":"string"},"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"endpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"endpoints":{"$ref":"#/components/schemas/_dialcast-dialing-configurations.endpoints","description":"Readonly list of endpoint to apply this DialCast Dialing Configuration to"},"facilityId":{"description":"The ID of the facility this DialCast Phone Exception belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"ID of the DialCast Phone Exception","format":"uuid","type":"string"},"includeEndpointIds":{"description":"List of endpoint IDs to apply this DialCast Dialing Configuration to","example":["null","4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"type":"string"},"maximum":1024,"minimum":1,"type":"array","uniqueItems":true},"name":{"description":"The brief name associated with the DialCast Phone Exception","example":"Lockdown Pattern Auth","maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"syncId":{"description":"The ID of this record in the Fusion database, used for optimizing sync performance","type":"string"},"systemGreetingBreakKeyEnable":{"description":"If true, the caller can stop the greeting by pressing the break key. Only applicable if system greeting override is true and system greeting enabled is true","type":"boolean"},"systemGreetingEnable":{"description":"If true, the caller will hear the greeting. Only applicable if system greeting override is true","type":"boolean"},"systemGreetingOverrideEnable":{"description":"Override the system greeting","type":"boolean"},"updatedAt":{"description":"The last time the resource was updated","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"distribution-lists.post-request":{"properties":{"campaign":{"description":"Campaign<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":{"defaultNotificationDays":5,"inactiveMessage":"The competition is over","subscribeTag":"#coffeetime","welcomeMessage":"Welcome to the World Barista Championship"},"properties":{"defaultNotificationDays":{"description":"This number of days will be suggested to users on its self-service registration page as a good number of days to subscribe; they can override it if they desire. An empty value means the subscription never expires.","example":5,"type":"integer"},"enrollmentEndDate":{"description":"This value can be specified to establish a date after which self-service registrations will no longer be accepted. An empty value means the campaign is open-ended and will accept registrations indefinitely.","example":"2026-08-01T00:00:00.000Z","format":"date-time","type":"string"},"inactiveMessage":{"description":"The text to display on the registration page after the enrollment end date to explain why registration is no longer available.","example":"The competition is over","maxLength":10000,"type":"string"},"subscribeTag":{"description":"Users will be able to join this campaign by sending this hashtag to: (608) 470-6356 (local; also valid internationally)","example":"#coffeetime","maxLength":30,"type":"string"},"url":{"description":"Campaign's enrollment url","example":"http://admin.icmobile.singlewire.com/anonymous/036347b0-41f1-11e5-ba5e-aa951d8d7a3b/list/59489180-41f1-11e5-aa08-aa951d8d7a3b","readOnly":true,"type":"string"},"welcomeMessage":{"description":"The text to display on its registration page to explain the purpose of the distribution list to members of the general public who would like to sign up to receive notifications.","example":"Welcome to the World Barista Championship","maxLength":10000,"type":"string"}},"type":"object"},"isShared":{"description":"Denotes whether or not this distribution list is globally shared","example":true,"type":"boolean"},"isSubscribable":{"description":"Marks the distribution list as subscribable for self service","example":true,"type":"boolean"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"}},"required":["name"],"type":"object"},"distribution-lists.put-request":{"properties":{"campaign":{"description":"Campaign<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":{"defaultNotificationDays":5,"inactiveMessage":"The competition is over","subscribeTag":"#coffeetime","welcomeMessage":"Welcome to the World Barista Championship"},"properties":{"defaultNotificationDays":{"description":"This number of days will be suggested to users on its self-service registration page as a good number of days to subscribe; they can override it if they desire. An empty value means the subscription never expires.","example":5,"type":"integer"},"enrollmentEndDate":{"description":"This value can be specified to establish a date after which self-service registrations will no longer be accepted. An empty value means the campaign is open-ended and will accept registrations indefinitely.","example":"2026-08-01T00:00:00.000Z","format":"date-time","type":"string"},"inactiveMessage":{"description":"The text to display on the registration page after the enrollment end date to explain why registration is no longer available.","example":"The competition is over","maxLength":10000,"type":"string"},"subscribeTag":{"description":"Users will be able to join this campaign by sending this hashtag to: (608) 470-6356 (local; also valid internationally)","example":"#coffeetime","maxLength":30,"type":"string"},"url":{"description":"Campaign's enrollment url","example":"http://admin.icmobile.singlewire.com/anonymous/036347b0-41f1-11e5-ba5e-aa951d8d7a3b/list/59489180-41f1-11e5-aa08-aa951d8d7a3b","readOnly":true,"type":"string"},"welcomeMessage":{"description":"The text to display on its registration page to explain the purpose of the distribution list to members of the general public who would like to sign up to receive notifications.","example":"Welcome to the World Barista Championship","maxLength":10000,"type":"string"}},"type":"object"},"isShared":{"description":"Denotes whether or not this distribution list is globally shared","example":true,"type":"boolean"},"isSubscribable":{"description":"Marks the distribution list as subscribable for self service","example":true,"type":"boolean"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"}},"required":[],"type":"object"},"distribution-lists.response":{"properties":{"campaign":{"description":"Campaign<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":{"defaultNotificationDays":5,"inactiveMessage":"The competition is over","subscribeTag":"#coffeetime","welcomeMessage":"Welcome to the World Barista Championship"},"properties":{"defaultNotificationDays":{"description":"This number of days will be suggested to users on its self-service registration page as a good number of days to subscribe; they can override it if they desire. An empty value means the subscription never expires.","example":5,"type":"integer"},"enrollmentEndDate":{"description":"This value can be specified to establish a date after which self-service registrations will no longer be accepted. An empty value means the campaign is open-ended and will accept registrations indefinitely.","example":"2026-08-01T00:00:00.000Z","format":"date-time","type":"string"},"inactiveMessage":{"description":"The text to display on the registration page after the enrollment end date to explain why registration is no longer available.","example":"The competition is over","maxLength":10000,"type":"string"},"subscribeTag":{"description":"Users will be able to join this campaign by sending this hashtag to: (608) 470-6356 (local; also valid internationally)","example":"#coffeetime","maxLength":30,"type":"string"},"url":{"description":"Campaign's enrollment url","example":"http://admin.icmobile.singlewire.com/anonymous/036347b0-41f1-11e5-ba5e-aa951d8d7a3b/list/59489180-41f1-11e5-aa08-aa951d8d7a3b","readOnly":true,"type":"string"},"welcomeMessage":{"description":"The text to display on its registration page to explain the purpose of the distribution list to members of the general public who would like to sign up to receive notifications.","example":"Welcome to the World Barista Championship","maxLength":10000,"type":"string"}},"type":"object"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this distribution list belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"Distribution List ID","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this distribution list is globally shared","example":true,"type":"boolean"},"isSubscribable":{"description":"Marks the distribution list as subscribable for self service","example":true,"type":"boolean"},"loadSourceId":{"description":"Load Definition Id for associating with a SIS loader","format":"uuid","type":"string"},"name":{"description":"Distribution List name","example":"Baristas","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"syncId":{"description":"The current sync ID of the distribution list, which Fusion servers can use to verify their data is up to date.","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab:1613413676919","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"distribution-lists_alarm-action-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The alarm id","format":"uuid","type":"string"},"resourceName":{"description":"The alarm name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_area-of-interest-boundary-trigger-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"parentResourceId":{"description":"The area of interest id","format":"uuid","type":"string"},"parentResourceName":{"description":"The area of interest name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The boundary trigger id","format":"uuid","type":"string"},"resourceName":{"description":"The boundary trigger name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_callaware-call-redirect-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_callaware-routing-request-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_clone.request":{"properties":{"name":{"description":"Distribution List name","example":"Baristas (Copy)","maximum":140,"type":"string"}},"required":[],"type":"object"},"distribution-lists_collaboration-group-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the collaboration group","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the collaboration group","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The collaboration group id","format":"uuid","type":"string"},"resourceName":{"description":"The collaboration group name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_dialcast-dialing-configuration-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the dialing configuration","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the dialing configuration","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The Dialcast Dialing Configuration id","format":"uuid","type":"string"},"resourceName":{"description":"The Dialcast Dialing Configuration name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_escalation-rule-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the confirmation request","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the confirmation request","type":"string"},"parentResourceId":{"description":"The confirmation request id","format":"uuid","type":"string"},"parentResourceName":{"description":"The confirmation request name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The escalation rule id","format":"uuid","type":"string"},"resourceName":{"description":"The escalation rule option label","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_inbound-email-rule-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"parentResourceId":{"description":"The inbound email id","format":"uuid","type":"string"},"parentResourceName":{"description":"The inbound email name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The outbound rule id","format":"uuid","type":"string"},"resourceName":{"description":"The outbound rule name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_message-template-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the message template","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the message template","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The message template id","format":"uuid","type":"string"},"resourceName":{"description":"The message template name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_night-bell-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_ring-list-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the ring list","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the ring list","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The ring list id","format":"uuid","type":"string"},"resourceName":{"description":"The ring list name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_rss-feed-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The inbound RSS feed id","format":"uuid","type":"string"},"resourceName":{"description":"The inbound RSS feed name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_scheduled-notification-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the scheduled notification","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the scheduled notification","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The scheduled notification id","format":"uuid","type":"string"},"resourceName":{"description":"The scheduled notification name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_scim-groups.post-request":{"properties":{"distributionListId":{"description":"Id of the distribution list","format":"uuid","type":"string"},"scimGroupId":{"description":"Id of member scim group","format":"uuid","type":"string"}},"required":["scimGroupId"],"type":"object"},"distribution-lists_scim-groups.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"distributionListId":{"description":"Id of the distribution list","format":"uuid","type":"string"},"id":{"description":"Id of member scim group","format":"uuid","type":"string"},"name":{"description":"The name of the SCIM Group","example":"Group Name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"distribution-lists_site-role-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the site role","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the site role","type":"string"},"parentResourceId":{"description":"The id of the site associating this distribution list with the site role","format":"uuid","type":"string"},"parentResourceName":{"description":"The name of the site associating this distribution list with the site role","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The site role id","format":"uuid","type":"string"},"resourceName":{"description":"The site role name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"distribution-lists_user-subscriptions.post-request":{"properties":{"subscriptionEndDate":{"description":"What time the subscription ends","example":"2035-05-27T19:20:46.908Z","format":"date-time","type":"string"},"userId":{"description":"User ID","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["userId"],"type":"object"},"distribution-lists_user-subscriptions.put-request":{"properties":{"subscriptionEndDate":{"description":"What time the subscription ends","example":"2035-05-27T19:20:46.908Z","format":"date-time","type":"string"}},"required":[],"type":"object"},"extensions.put-request":{"properties":{"config":{"description":"Configuration object that is validated by extension","example":"{\"secondaryTextColor\":null,\n \"introText\":\"Some test intro text\",\n \"subheadingText\":\"InformaCast Mobile Alert System\",\n \"replyToAddress\":null,\n \"replyToName\":null,\n \"primaryTextColor\":null,\n \"fromAddress\":null,\n \"fromName\":null,\n \"primaryColor\":null,\n \"headingText\":\"Important Alert From\"}","type":"object"},"disabled":{"description":"True if the extension is disabled","example":false,"type":"boolean"}},"required":[],"type":"object"},"extensions.response":{"properties":{"config":{"description":"Configuration object that is validated by extension","example":"{\"secondaryTextColor\":null,\n \"introText\":\"Some test intro text\",\n \"subheadingText\":\"InformaCast Mobile Alert System\",\n \"replyToAddress\":null,\n \"replyToName\":null,\n \"primaryTextColor\":null,\n \"fromAddress\":null,\n \"fromName\":null,\n \"primaryColor\":null,\n \"headingText\":\"Important Alert From\"}","type":"object"},"configExports":{"description":"The configuration parameters that will be exposed to notification profiles/message templates so they can see pieces of the config. For example `includeBody` for the SMS extension is important so the clients can properly compute SMS count estimates","example":["headingText","introText","primaryColor","primaryTextColor","secondaryTextcolor","subheadingtext"],"items":{"type":"string"},"type":"array","uniqueItems":true},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"deviceLimit":{"description":"Number of devices allowed per user, for extensions whose type=device","example":3,"type":"integer"},"deviceType":{"description":"Device type that this extension pushes to, for extensions whose type=device, or collaboration group type it works with when type=collaboration","example":"singlewire:email","type":"string"},"disabled":{"description":"True if the extension is disabled","example":false,"type":"boolean"},"failureCode":{"description":"Notification activity type created when the extension cannot be reached while sending","example":"email-failed","type":"string"},"featureRequired":{"description":"The feature, if any, which must be enabled for this extension to operate","example":"email","type":"string"},"id":{"description":"ID of the extension","example":"b6d90e60-2a40-11e5-8134-9a9e6c05013a","format":"uuid","type":"string"},"name":{"description":"Name of the extension","example":"Email","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"requiresOptIn":{"description":"Determines whether this extension type requires users to verify ownership of devices before they can receive notifications","example":true,"type":"boolean"},"triggers":{"description":"Identifies the path(s) to the resource(s) the API trigger will monitor; when an API call matches make request to extension url","example":[],"items":{"properties":{"spec":{"type":"string"}},"type":"object"},"type":"array"},"type":{"description":"Type of extension","enum":["device","device-filter","endpoint-proxy","collaboration","report"],"example":"device","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"extensions_attachments.post-request":{"properties":{"file":{"description":"Binary attachment","format":"binary","type":"string"}},"required":["file"],"type":"object"},"extensions_attachments.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"file":{"description":"Binary attachment","format":"binary","type":"string"},"id":{"description":"ID of attachment","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"extensions_devices.response":{"properties":{"attributes":{"description":"Device Attributes","format":"json","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"defunct":{"description":"Whether the device is currently defunct","type":"boolean"},"description":{"description":"The description of the device","maximum":10000,"type":"string"},"deviceGroup":{"description":"Ad-hoc device group for filtering devices","format":"json","type":"string"},"deviceGroupId":{"description":"Device group to filter devices with","format":"uuid","type":"string"},"deviceIdentifier":{"description":"The device's unique identifier","maximum":10000,"type":"string"},"endpointId":{"description":"The endpoint the device belongs to","format":"uuid","type":"string"},"extensionId":{"description":"The extension the device belongs to","format":"uuid","type":"string"},"id":{"description":"Id of the device","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"type":{"description":"The type of the device. Can be one of phones, speakers, plugins, or idns.","enum":["phones","speakers","plugins","idns"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"extensions_endpoints.post-request":{"properties":{"config":{"$ref":"#/components/schemas/_extension-endpoints-config","description":"Configuration object that is validated by extension"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"devices":{"description":"Device object that can store any arbitrary data","example":[{"deviceName":"myDevice"}],"format":"json","type":"string"},"name":{"description":"Name of endpoint","maximum":10000,"type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":[],"type":"object"},"extensions_endpoints.put-request":{"properties":{"config":{"$ref":"#/components/schemas/_extension-endpoints-config","description":"Configuration object that is validated by extension"},"devices":{"description":"Device object that can store any arbitrary data","example":[{"deviceName":"myDevice"}],"format":"json","type":"string"},"name":{"description":"Name of endpoint","maximum":10000,"type":"string"}},"required":[],"type":"object"},"extensions_endpoints_activities.post-request":{"properties":{"referenceId":{"description":"ID of the IC Mobile object this activity relates to.","example":null,"format":"uuid","type":"string"},"referenceType":{"description":"What type of resource the activity is for","enum":["message-template","distribution-list","scheduled-notifications"],"example":null,"type":"string"},"severity":{"description":"Severity level of this activity.","enum":["debug","info","warn","error"],"example":"info","type":"string"},"state":{"description":"State of replication operation of this activity, primarily of interest in determining whether the activity is still in progress or has completed","enum":["pending","fail","success"],"example":"pending","type":"string"},"type":{"description":"Type of activity, if you want to back up or restart a Fusion server, use `backup` or `restart`","enum":["recipient-group-delete","recipient-group-create","recipient-group-update","recipient-group-sync","recipient-group-dependency-sync","message-delete","message-skipped","message-create","message-update","message-sync","message-dependency-sync","scheduled-broadcast-create","scheduled-broadcast-update","scheduled-broadcast-delete","scheduled-broadcast-sync","scheduled-broadcast-skipped","broadcast-pending","broadcast-complete","broadcast-failed","activation-group-sync","phone-cache-distribute","phone-cache-rebuild","phone-reset-pending","fusion-server-broadcast-config-change","full-resync","upgrade","upgrade-all","replication-queue-reset","collect-logs","capture-packets","syncer-startup","log-message","phone-cache-update","phone-cache-full-delta-update","phone-cache-partial-update","axl-result","device-sync","replication-clean-up","full-resync-complete","capture-packets-complete","restart","backup","callaware-recording"],"example":"backup","type":"string"},"value":{"description":"A value describing the result of the activity. Can be any object, but usually describes a failure","example":null,"format":"json","type":"string"}},"required":["type"],"type":"object"},"extensions_endpoints_activities.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The ID of the endpoint","example":"28a92caf-3d37-11e6-834a-431f5104df9d","format":"uuid","type":"string"},"extensionId":{"description":"The ID of the extension","example":"551de6ae-3d36-11e6-834a-3d1fcb19aadd","format":"uuid","type":"string"},"id":{"description":"ID of the extension endpoint activity","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"referenceId":{"description":"ID of the IC Mobile object this activity relates to.","example":null,"format":"uuid","type":"string"},"referenceType":{"description":"What type of resource the activity is for","enum":["message-template","distribution-list","scheduled-notifications"],"example":null,"type":"string"},"severity":{"description":"Severity level of this activity.","enum":["debug","info","warn","error"],"example":"info","type":"string"},"state":{"description":"State of replication operation of this activity, primarily of interest in determining whether the activity is still in progress or has completed","enum":["pending","fail","success"],"example":"pending","type":"string"},"type":{"description":"Type of activity, if you want to back up or restart a Fusion server, use `backup` or `restart`","enum":["recipient-group-delete","recipient-group-create","recipient-group-update","recipient-group-sync","recipient-group-dependency-sync","message-delete","message-skipped","message-create","message-update","message-sync","message-dependency-sync","scheduled-broadcast-create","scheduled-broadcast-update","scheduled-broadcast-delete","scheduled-broadcast-sync","scheduled-broadcast-skipped","broadcast-pending","broadcast-complete","broadcast-failed","activation-group-sync","phone-cache-distribute","phone-cache-rebuild","phone-reset-pending","fusion-server-broadcast-config-change","full-resync","upgrade","upgrade-all","replication-queue-reset","collect-logs","capture-packets","syncer-startup","log-message","phone-cache-update","phone-cache-full-delta-update","phone-cache-partial-update","axl-result","device-sync","replication-clean-up","full-resync-complete","capture-packets-complete","restart","backup","callaware-recording"],"example":"backup","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"value":{"description":"A value describing the result of the activity. Can be any object, but usually describes a failure","example":null,"format":"json","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"extensions_endpoints_provider-public-key.request":{"properties":{"isNewlyGenerated":{"description":"Boolean flag indicating whether the supplied public key is newly generated (true) or has previously been accepted by the cloud as authoritative (false)","type":"boolean"},"publicKey":{"description":"Provider level public key we are attempting to make authoritative","maximum":65536,"type":"string"}},"required":[],"type":"object"},"extensions_endpoints_provider-public-key.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"isNewlyGenerated":{"description":"Boolean flag indicating whether the supplied public key is newly generated (true) or has previously been accepted by the cloud as authoritative (false)","type":"boolean"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"publicKey":{"description":"Provider level public key we are attempting to make authoritative","maximum":65536,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"extensions_proxy.request":{"properties":{},"required":[],"type":"object"},"extensions_proxy.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"facilities.post-request":{"properties":{"siteId":{"description":"ID of the Site the Facility is associated with","format":"uuid","type":"string"}},"required":["siteId"],"type":"object"},"facilities.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"hideGlobal":{"description":"When supplied, hides the global facility in the response","type":"boolean"},"id":{"description":"ID of the Facility","format":"uuid","type":"string"},"name":{"description":"Name of the Facility (Derived from site)","example":"UW-Madison","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteId":{"description":"ID of the Site the Facility is associated with","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"facilities_users.post-request":{"properties":{"id":{"description":"ID of the user","format":"uuid","type":"string"},"includeTypes":{"description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["id"],"type":"object"},"facilities_users.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID of the user","format":"uuid","type":"string"},"includeTypes":{"description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"failover-pairs.post-request":{"properties":{"backupEndpointId":{"description":"The `id` of the endpoint that will be the backup","example":"cc920eae-c5f4-11ee-82a4-6b06df8a66c6","format":"uuid","type":"string"},"name":{"description":"The name to give to new failover pair","example":"Example failover pair","maximum":140,"type":"string"},"primaryEndpointId":{"description":"The `id` of the endpoint that will be the primary endpoint","example":"ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae","format":"uuid","type":"string"},"timeout":{"description":"How long in seconds the backup endpoint should wait before becoming active after the primary endpoint disconnects. Defaults to 30 seconds.","example":30,"type":"integer"}},"required":["name","primaryEndpointId","backupEndpointId","timeout"],"type":"object"},"failover-pairs.put-request":{"properties":{"backupEndpointId":{"description":"The `id` of the endpoint that will be the backup","example":"cc920eae-c5f4-11ee-82a4-6b06df8a66c6","format":"uuid","type":"string"},"name":{"description":"The name to give to new failover pair","example":"Example failover pair","maximum":140,"type":"string"},"primaryEndpointId":{"description":"The `id` of the endpoint that will be the primary endpoint","example":"ccd6dfdf-c5f4-11ee-82a4-217acc6c07ae","format":"uuid","type":"string"},"timeout":{"description":"How long in seconds the backup endpoint should wait before becoming active after the primary endpoint disconnects. Defaults to 30 seconds.","example":30,"type":"integer"}},"required":[],"type":"object"},"gateways.post-request":{"properties":{"buildingId":{"description":"The ID of the Building the Gateway is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"eui":{"description":"The Gateway's EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"floorId":{"description":"The ID of the Floor the Gateway is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Gateway is currently decommissioned","example":true,"type":"boolean"},"macAddress":{"description":"The MAC address which identifies the Gateway","example":"aabbccddeeff","maximum":12,"minimum":12,"type":"string"},"model":{"description":"The Gateway's model","enum":["Multitech_MTCAP3_LTE","Multitech_MTCDTIP","Multitech_MTCAP3"],"example":"Multitech_MTCAP3","type":"string"},"name":{"description":"The name of the Gateway","example":"Primary Gateway (Multitech MTCAP3)","maximum":140,"minimum":3,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Gateway is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Gateways whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"siteId":{"description":"The ID of the Site the Gateway is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the Gateway is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["name","eui","model"],"type":"object"},"gateways.put-request":{"properties":{"buildingId":{"description":"The ID of the Building the Gateway is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"eui":{"description":"The Gateway's EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"floorId":{"description":"The ID of the Floor the Gateway is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Gateway is currently decommissioned","example":true,"type":"boolean"},"macAddress":{"description":"The MAC address which identifies the Gateway","example":"aabbccddeeff","maximum":12,"minimum":12,"type":"string"},"model":{"description":"The Gateway's model","enum":["Multitech_MTCAP3_LTE","Multitech_MTCDTIP","Multitech_MTCAP3"],"example":"Multitech_MTCAP3","type":"string"},"name":{"description":"The name of the Gateway","example":"Primary Gateway (Multitech MTCAP3)","maximum":140,"minimum":3,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Gateway is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Gateways whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"siteId":{"description":"The ID of the Site the Gateway is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the Gateway is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":[],"type":"object"},"gateways.response":{"properties":{"building":{"$ref":"#/components/schemas/_gateways.building","description":"Contains the name, ID, and type of the building to which this Gateway belongs"},"buildingId":{"description":"The ID of the Building the Gateway is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"The time the Gateway was created","format":"date-time","type":"string"},"eui":{"description":"The Gateway's EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"facilityId":{"description":"The ID of the facility this Gateway belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_gateways.floor","description":"Contains the name and ID of the floor to which this Gateway belongs"},"floorId":{"description":"The ID of the Floor the Gateway is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the Gateway","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Gateway is currently decommissioned","example":true,"type":"boolean"},"isOutdoorModel":{"description":"Whether the Gateway's model is only compatible with outdoor zones.","example":true,"type":"boolean"},"macAddress":{"description":"The MAC address which identifies the Gateway","example":"aabbccddeeff","maximum":12,"minimum":12,"type":"string"},"model":{"description":"The Gateway's model","enum":["Multitech_MTCAP3_LTE","Multitech_MTCDTIP","Multitech_MTCAP3"],"example":"Multitech_MTCAP3","type":"string"},"name":{"description":"The name of the Gateway","example":"Primary Gateway (Multitech MTCAP3)","maximum":140,"minimum":3,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Gateway is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Gateways whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"site":{"$ref":"#/components/schemas/_gateways.site","description":"Contains the name and ID of the site to which this Gateway belongs"},"siteId":{"description":"The ID of the Site the Gateway is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"The last time the Gateway was updated","format":"date-time","type":"string"},"zone":{"$ref":"#/components/schemas/_gateways.zone","description":"Contains the name, ID, and outdoor flag of the zone to which this Gateway belongs"},"zoneId":{"description":"The ID of the Zone the Gateway is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"gateways_decommission.request":{"properties":{},"required":[],"type":"object"},"gateways_recommission.request":{"properties":{},"required":[],"type":"object"},"gateways_refresh-connection-status.request":{"properties":{},"required":[],"type":"object"},"gateways_reset.request":{"properties":{},"required":[],"type":"object"},"gateways_rotate-certificate.request":{"properties":{},"required":[],"type":"object"},"gateways_rotate-certificate.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"idps.put-request":{"properties":{"appsDomain":{"description":"Google identity provider Apps Domain","maximum":10000,"type":"string"},"authUri":{"description":"Authentication URI to use with OAuth2 identity providers","maximum":10000,"type":"string"},"clientId":{"description":"Client ID to use with OAuth2 and Azure identity providers","maximum":10000,"type":"string"},"clientSecret":{"description":"Client Secret to use with OAuth2 and Azure identity providers","maximum":10000,"type":"string"},"distributionListId":{"description":"The Distribution List to subscribe new self-registered users to","example":null,"format":"uuid","type":"string"},"email":{"description":"User email address for Google identity providers","maximum":10000,"type":"string"},"emailProperty":{"description":"Property to get out of the identity provider's profile and use as the user's email address","maximum":10000,"type":"string"},"enabled":{"description":"Whether the identity provider can be used","example":true,"type":"boolean"},"endpointUuid":{"description":"UUID used to generate the Auth URI and Token URI for Azure identity providers","maximum":10000,"type":"string"},"enforce2fa":{"description":"Whether the identity provider requires 2FA for all of its users","example":true,"type":"boolean"},"federationMetadata":{"description":"FederationMetadata.xml file for ADFS identity provider","format":"binary","type":"string"},"federationMetadataUrl":{"description":"FederationMetadata.xml URL for ADFS identity provider","maximum":10000,"type":"string"},"idpBrand":{"description":"The proprietary brand of the IDP.","enum":["google","azure","cirrus-idp","dummy","generic-openid-connect","cisco-duo","microsoft-adfs","okta","one-login","ping-federate","generic-saml2","entra-id","singlewire-contractor"],"example":"google","type":"string"},"isDefault":{"description":"Whether this is the “default” Identity Provider. This means that Users with a `providerIdpId` value of `null` will use this Identity Provider for authentication","example":true,"type":"boolean"},"loginUri":{"description":"Login URI for ADFS identity provider","maximum":10000,"type":"string"},"name":{"description":"The name of the Identity Provider","example":"Google","maximum":10000,"type":"string"},"resource":{"description":"Resource to request from Azure identity providers","maximum":10000,"type":"string"},"securityGroupId":{"description":"The Security Group to place new self-registered users","example":null,"format":"uuid","type":"string"},"selfRegistrationEnabled":{"description":"Whether this Identity Provider can be used for user self-registration; only a Cirrus IDP can have this value set to true","example":false,"type":"boolean"},"tokenUri":{"description":"Token URI to use with OAuth2 identity providers","maximum":10000,"type":"string"},"type":{"description":"The Identity Provider type","enum":["google","azure","cirrus-idp","adfs","dummy","singlewire-contractor"],"example":"google","type":"string"},"useNonce":{"description":"Instructs InformaCast to use nonce verification for id_tokens (valid for OpenID-compatible OAuth2 clients only)","type":"boolean"},"usePkce":{"description":"Instructs InformaCast to use PKCE code verifier flow (valid for OAuth2 clients only)","type":"boolean"},"userProfileScope":{"description":"User Profile Scope for Azure identity providers","maximum":10000,"type":"string"},"userProfileUrl":{"description":"User Profile URL for Azure identity providers","maximum":10000,"type":"string"}},"required":[],"type":"object"},"idps.response":{"properties":{"clientId":{"description":"Client ID to use with OAuth2 and Azure identity providers","maximum":10000,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"distributionList":{"$ref":"#/components/schemas/_idps.distribution-list","description":"The Distribution List new self-registered users are placed in"},"distributionListId":{"description":"The Distribution List to subscribe new self-registered users to","example":null,"format":"uuid","type":"string"},"email":{"description":"User email address for Google identity providers","maximum":10000,"type":"string"},"enabled":{"description":"Whether the identity provider can be used","example":true,"type":"boolean"},"enforce2fa":{"description":"Whether the identity provider requires 2FA for all of its users","example":true,"type":"boolean"},"id":{"description":"The ID of the identity provider","example":"482d4a02-f171-11ee-a97c-3be0359d63d7","format":"uuid","type":"string"},"idpBrand":{"description":"The proprietary brand of the IDP.","enum":["google","azure","cirrus-idp","dummy","generic-openid-connect","cisco-duo","microsoft-adfs","okta","one-login","ping-federate","generic-saml2","entra-id","singlewire-contractor"],"example":"google","type":"string"},"idpType":{"description":"The authentication protocols that allow identity providers to control access and validate users","enum":["openid-connect","saml2"],"example":"openid-connect","type":"string"},"isDefault":{"description":"Whether this is the “default” Identity Provider. This means that Users with a `providerIdpId` value of `null` will use this Identity Provider for authentication","example":true,"type":"boolean"},"name":{"description":"The name of the Identity Provider","example":"Google","maximum":10000,"type":"string"},"parentIdpId":{"description":"ID of the parent identity provider to link a draft to its parent","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityGroup":{"$ref":"#/components/schemas/_idps.security-group","description":"The Security Group new self-registered users are placed in"},"securityGroupId":{"description":"The Security Group to place new self-registered users","example":null,"format":"uuid","type":"string"},"selfRegistrationEnabled":{"description":"Whether this Identity Provider can be used for user self-registration; only a Cirrus IDP can have this value set to true","example":false,"type":"boolean"},"status":{"description":"The Identity Provider status","enum":["untested","testing","ready","enabled","test-expired"],"example":"ready","type":"string"},"type":{"description":"The Identity Provider type","enum":["google","azure","cirrus-idp","adfs","dummy","singlewire-contractor"],"example":"google","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"idps_draft.request":{"properties":{},"required":[],"type":"object"},"idps_draft.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"idps_promote.request":{"properties":{},"required":[],"type":"object"},"idps_promote.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"idps_test.post-request":{"properties":{},"required":[],"type":"object"},"idps_test.response":{"properties":{"authorizationUrl":{"description":"A complete URL that can be navigated to by the user who initiates the test or shared with a different user","type":"string"},"createdAt":{"description":"The date and time when the IDP test started","format":"date-time","type":"string"},"expiresAt":{"description":"The date and time when the IDP test expires","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"succeededAt":{"description":"The date and time when the IDP test succeeded","format":"date-time","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"inbound-cap-rules.post-request":{"properties":{"disabled":{"description":"Whether or not CAP messages matching this rule triggers a notification","type":"boolean"},"expression":{"description":"The expression evaluated to determine if a CAP message triggers a notification","example":"(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\"WIZ063\") || areaGeocodeFips6SAMEContains(\"55025\")) && ( alertTextContains(\"Severe Weather\")) && (categoryIsMet())","maximum":10000,"type":"string"},"languageCode":{"description":"The language code to match against in an incoming CAP message","example":"en","maximum":10000,"type":"string"},"messageTemplateId":{"description":"The Message Template to use when creating a notification","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The Inbound CAP rule’s display name","example":"Severe Weather","maximum":140,"type":"string"}},"required":["name","expression","messageTemplateId"],"type":"object"},"inbound-cap-rules.put-request":{"properties":{"disabled":{"description":"Whether or not CAP messages matching this rule triggers a notification","type":"boolean"},"expression":{"description":"The expression evaluated to determine if a CAP message triggers a notification","example":"(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\"WIZ063\") || areaGeocodeFips6SAMEContains(\"55025\")) && ( alertTextContains(\"Severe Weather\")) && (categoryIsMet())","maximum":10000,"type":"string"},"languageCode":{"description":"The language code to match against in an incoming CAP message","example":"en","maximum":10000,"type":"string"},"messageTemplateId":{"description":"The Message Template to use when creating a notification","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The Inbound CAP rule’s display name","example":"Severe Weather","maximum":140,"type":"string"}},"required":[],"type":"object"},"inbound-cap-rules.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"disabled":{"description":"Whether or not CAP messages matching this rule triggers a notification","type":"boolean"},"expression":{"description":"The expression evaluated to determine if a CAP message triggers a notification","example":"(areaContainsLatLon(43.111, -89.3463) || areaGeocodeUgcContains(\"WIZ063\") || areaGeocodeFips6SAMEContains(\"55025\")) && ( alertTextContains(\"Severe Weather\")) && (categoryIsMet())","maximum":10000,"type":"string"},"id":{"description":"ID of the inbound CAP rule","format":"uuid","type":"string"},"languageCode":{"description":"The language code to match against in an incoming CAP message","example":"en","maximum":10000,"type":"string"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The message template associated with this inbound CAP rule"},"messageTemplateId":{"description":"The Message Template to use when creating a notification","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The Inbound CAP rule’s display name","example":"Severe Weather","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"inbound-email.post-request":{"properties":{"disabled":{"description":"If `true`, no notifications will be sent based on the settings for this label; defaults to `false`","type":"boolean"},"name":{"description":"The Inbound Email configuration’s display name","example":"General Update","maximum":140,"type":"string"},"securityLevel":{"description":"Determines how elements in the email metadata such as SPF and spam score are used in evaluating a received email;\n                      please note that a security level of `off` is discouraged","enum":["high","medium","low","off"],"example":"high","type":"string"},"sourceWhitelist":{"description":"The list of emails allowed to send to this configuration. The email addresses may contain simple wildcard characters (*) to match common prefixes and suffixes in both the name and the domain portion.","example":"administrator@example.com","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["name","sourceWhitelist","securityLevel"],"type":"object"},"inbound-email.put-request":{"properties":{"disabled":{"description":"If `true`, no notifications will be sent based on the settings for this label; defaults to `false`","type":"boolean"},"name":{"description":"The Inbound Email configuration’s display name","example":"General Update","maximum":140,"type":"string"},"securityLevel":{"description":"Determines how elements in the email metadata such as SPF and spam score are used in evaluating a received email;\n                      please note that a security level of `off` is discouraged","enum":["high","medium","low","off"],"example":"high","type":"string"},"sourceWhitelist":{"description":"The list of emails allowed to send to this configuration. The email addresses may contain simple wildcard characters (*) to match common prefixes and suffixes in both the name and the domain portion.","example":"administrator@example.com","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"inbound-email.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"disabled":{"description":"If `true`, no notifications will be sent based on the settings for this label; defaults to `false`","type":"boolean"},"id":{"description":"ID of the Inbound Email Tag","format":"uuid","type":"string"},"name":{"description":"The Inbound Email configuration’s display name","example":"General Update","maximum":140,"type":"string"},"outboundRules":{"description":"A list of zero or more Outbound Rules associated with this configuration. No rules implies any email from a member of the whitelist will be used to generate a notification","items":{"$ref":"#/components/schemas/inbound-email_outbound-rules.response"},"type":"array"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityLevel":{"description":"Determines how elements in the email metadata such as SPF and spam score are used in evaluating a received email;\n                      please note that a security level of `off` is discouraged","enum":["high","medium","low","off"],"example":"high","type":"string"},"sourceWhitelist":{"description":"The list of emails allowed to send to this configuration. The email addresses may contain simple wildcard characters (*) to match common prefixes and suffixes in both the name and the domain portion.","example":"administrator@example.com","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"tag":{"description":"The suffix to use in the email address so that a received email can trigger this configuration","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"inbound-email_outbound-rules.post-request":{"properties":{"bodyCriteria":{"description":"Strings or regular expressions to be compared against the body of the incoming email.\n                                  Depending on the `match-all` field if any or all are matches, this rule will be used","example":["fire"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"disabled":{"description":"Whether or not this rule should be used in evaluating inbound emails","type":"boolean"},"distributionListIds":{"description":"Optional list of distribution list IDs to use when creating the notification","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"matchAll":{"description":"If true, all subject and body criteria must be met for this rule to be used","type":"boolean"},"messageTemplateId":{"description":"The Message Template to use when creating a notification","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The Rule’s display name","example":"Fire Door Info","maximum":140,"type":"string"},"subjectCriteria":{"description":"Strings or regular expressions to be compared against the subject of the incoming email.\n                                  Depending on the `match-all` field if any or all are matches, this rule will be used","example":["gym","door"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"userIds":{"description":"Optional list of user IDs to use when creating the notification","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["inboundEmailId","name","messageTemplateId"],"type":"object"},"inbound-email_outbound-rules.put-request":{"properties":{"bodyCriteria":{"description":"Strings or regular expressions to be compared against the body of the incoming email.\n                                  Depending on the `match-all` field if any or all are matches, this rule will be used","example":["fire"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"disabled":{"description":"Whether or not this rule should be used in evaluating inbound emails","type":"boolean"},"distributionListIds":{"description":"Optional list of distribution list IDs to use when creating the notification","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"matchAll":{"description":"If true, all subject and body criteria must be met for this rule to be used","type":"boolean"},"messageTemplateId":{"description":"The Message Template to use when creating a notification","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The Rule’s display name","example":"Fire Door Info","maximum":140,"type":"string"},"subjectCriteria":{"description":"Strings or regular expressions to be compared against the subject of the incoming email.\n                                  Depending on the `match-all` field if any or all are matches, this rule will be used","example":["gym","door"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"userIds":{"description":"Optional list of user IDs to use when creating the notification","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"inbound-email_outbound-rules.response":{"properties":{"bodyCriteria":{"description":"Strings or regular expressions to be compared against the body of the incoming email.\n                                  Depending on the `match-all` field if any or all are matches, this rule will be used","example":["fire"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"disabled":{"description":"Whether or not this rule should be used in evaluating inbound emails","type":"boolean"},"distributionListIds":{"description":"Optional list of distribution list IDs to use when creating the notification","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionLists":{"description":"The Distribution Lists (if any) that will receive notifications sent from this ruleset","items":{"$ref":"#/components/schemas/distribution-lists.response"},"type":"array"},"id":{"description":"ID of the Outbound Rules","format":"uuid","type":"string"},"inboundEmailId":{"description":"ID of the associated inbound email","format":"uuid","type":"string"},"matchAll":{"description":"If true, all subject and body criteria must be met for this rule to be used","type":"boolean"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The message template associated with this outbound rule"},"messageTemplateId":{"description":"The Message Template to use when creating a notification","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The Rule’s display name","example":"Fire Door Info","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subjectCriteria":{"description":"Strings or regular expressions to be compared against the subject of the incoming email.\n                                  Depending on the `match-all` field if any or all are matches, this rule will be used","example":["gym","door"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userIds":{"description":"Optional list of user IDs to use when creating the notification","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"users":{"description":"The Users (if any) that will receive notifications sent from this ruleset","items":{"$ref":"#/components/schemas/users.response"},"type":"array"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"inbound-rss-feeds.post-request":{"properties":{"disabled":{"description":"If set to `true`, the feed will continue to be processed, but it will not send out notifications","type":"boolean"},"distributionListIds":{"description":"List of distribution list IDs to include when sending out an RSS feed notification","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The message template to use when building a notification for an RSS feed entry (must have subject and body customizable)","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The RSS Feed’s display name","example":"The Onion","maximum":256,"type":"string"},"url":{"description":"The RSS feed’s url to monitor, it will be polled every 60 seconds","example":"https://www.theonion.com/rss","maximum":256,"type":"string"}},"required":["url","name","messageTemplateId"],"type":"object"},"inbound-rss-feeds.put-request":{"properties":{"disabled":{"description":"If set to `true`, the feed will continue to be processed, but it will not send out notifications","type":"boolean"},"distributionListIds":{"description":"List of distribution list IDs to include when sending out an RSS feed notification","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The message template to use when building a notification for an RSS feed entry (must have subject and body customizable)","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The RSS Feed’s display name","example":"The Onion","maximum":256,"type":"string"},"url":{"description":"The RSS feed’s url to monitor, it will be polled every 60 seconds","example":"https://www.theonion.com/rss","maximum":256,"type":"string"}},"required":[],"type":"object"},"inbound-rss-feeds.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"disabled":{"description":"If set to `true`, the feed will continue to be processed, but it will not send out notifications","type":"boolean"},"distributionListIds":{"description":"List of distribution list IDs to include when sending out an RSS feed notification","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionLists":{"description":"Distribution lists associated with this inbound RSS feed","items":{"$ref":"#/components/schemas/distribution-lists.response"},"type":"array"},"id":{"description":"The `id` of the RSS feed, for efficient retrieval, manipulation, or looking up sub-resources attached to the RSS Feed","format":"uuid","type":"string"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The message template associated with this inbound RSS feed"},"messageTemplateId":{"description":"The message template to use when building a notification for an RSS feed entry (must have subject and body customizable)","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The RSS Feed’s display name","example":"The Onion","maximum":256,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"url":{"description":"The RSS feed’s url to monitor, it will be polled every 60 seconds","example":"https://www.theonion.com/rss","maximum":256,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incident-plans.post-request":{"properties":{"allowMultipleActiveIncidents":{"description":"Whether to allow multiple active incidents to be created in the same site/facility for this Incident Plan.","example":false,"type":"boolean"},"description":{"description":"The optional description of the Incident Plan","example":"Network connections interrupted - Updates will follow","maximum":10000,"type":"string"},"isShared":{"description":"Denotes whether or not this incident plan is globally shared","example":true,"type":"boolean"},"messageTemplateIds":{"description":"Note: Works with PUTs but not POSTs. The ids of the Message Templates to use for quick access; if set to `null`, it will remove any message templates from this Incident Plan","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"},"resources":{"description":"Note: Works with PUTs but not POSTs and only accepts an empty array. If passed an empty array (`[]`), it will remove any resources from this Incident Plan","example":[],"format":"json","type":"string"},"rostering":{"$ref":"#/components/schemas/_incident-plans.rostering","description":"Note: Works with PUTs but not POSTs. The Roll Call configuration. If set to `null`, it will remove Roll Call configuration from this Incident Plan"},"scenarioIds":{"description":"Note: Works with PUTs but not POSTs. The ids of the Scenarios to use for quick access;, if set to `null`, it will remove any scenarios from this Incident Plan<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["name"],"type":"object"},"incident-plans.put-request":{"properties":{"allowMultipleActiveIncidents":{"description":"Whether to allow multiple active incidents to be created in the same site/facility for this Incident Plan.","example":false,"type":"boolean"},"description":{"description":"The optional description of the Incident Plan","example":"Network connections interrupted - Updates will follow","maximum":10000,"type":"string"},"isShared":{"description":"Denotes whether or not this incident plan is globally shared","example":true,"type":"boolean"},"messageTemplateIds":{"description":"Note: Works with PUTs but not POSTs. The ids of the Message Templates to use for quick access; if set to `null`, it will remove any message templates from this Incident Plan","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"name":{"description":"The name of the Incident Plan","example":"IT Outage","maximum":140,"type":"string"},"resources":{"description":"Note: Works with PUTs but not POSTs and only accepts an empty array. If passed an empty array (`[]`), it will remove any resources from this Incident Plan","example":[],"format":"json","type":"string"},"rostering":{"$ref":"#/components/schemas/_incident-plans.rostering","description":"Note: Works with PUTs but not POSTs. The Roll Call configuration. If set to `null`, it will remove Roll Call configuration from this Incident Plan"},"scenarioIds":{"description":"Note: Works with PUTs but not POSTs. The ids of the Scenarios to use for quick access;, if set to `null`, it will remove any scenarios from this Incident Plan<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"incident-plans_message-templates.response":{"properties":{"audio":{"description":"Default audio content, a binary stream of audio data. The audio formats accepted include μ-law, Opus, MP3, Vorbis, or some other common WAV formats. Non μ-law files will be converted to μ-law and the size of the converted audio must not exceed [10 MiB](https://en.wikipedia.org/wiki/Byte#Multiple-byte_units) In responses, the size in bytes of the attached audio, or zero if there is none (this is now redundant with the `audioFiles` attribute, and will likely be deprecated and removed in a future release)","format":"binary","type":"string"},"confirmationRequestId":{"description":"The `id` of the attached Confirmation Request.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"The ID of the Incident Plan Scenario","format":"uuid","type":"string"},"image":{"description":"Binary stream of the default image to send with the notification. The size of the image must not exceed [10 MiB](https://en.wikipedia.org/wiki/Byte#Multiple-byte_units). In responses, the size in bytes of the attached image, or zero if there is none (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","format":"binary","type":"string"},"incidentPlanId":{"description":"The `id` of the Incident Plan for which this scenario belongs","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"name":{"description":"The name of the Incident Plan Message Template","example":"Test Notification","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incident-plans_resources.post-request":{"properties":{"file":{"description":"The binary stream of the file data, the size of the image must not exceed 20 MiB and must be specified for file resources","example":null,"format":"binary","type":"string"},"hyperlink":{"description":"The hyperlink for the Incident Plan Resource, must be specified for hyperlink resources","example":"https://www.example.com","maximum":10000,"type":"string"},"name":{"description":"The name of the Incident Plan Resource","example":"Helpdesk Website","maximum":140,"type":"string"},"type":{"description":"The Incident Plan Resource type, this is either 'hyperlink' or 'file'","example":"hyperlink","maximum":10000,"type":"string"}},"required":["name","type"],"type":"object"},"incident-plans_resources.response":{"properties":{"contentType":{"description":"The content type of the Incident Resource. Only applies for file resources.","example":null,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"file":{"description":"The binary stream of the file data, the size of the image must not exceed 20 MiB and must be specified for file resources","example":null,"format":"binary","type":"string"},"fileName":{"description":"The name of the uploaded file. Only applies for file resources.","example":null,"type":"string"},"hyperlink":{"description":"The hyperlink for the Incident Plan Resource, must be specified for hyperlink resources","example":"https://www.example.com","maximum":10000,"type":"string"},"id":{"description":"The ID of the Incident Plan Resource","format":"uuid","type":"string"},"incidentPlanId":{"description":"The `id` of the Incident Plan for which this resource belongs","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"metaData":{"description":"Any specific metadata about the file resource. Only applies for file resources.","example":null,"format":"json","type":"string"},"name":{"description":"The name of the Incident Plan Resource","example":"Helpdesk Website","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"size":{"description":"The size in bytes of file. Only applies for file resources.","example":null,"type":"integer"},"type":{"description":"The Incident Plan Resource type, this is either 'hyperlink' or 'file'","example":"hyperlink","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incident-plans_scenarios.response":{"properties":{"backgroundColor":{"description":"The scenario’s background color. Should be a hexadecimal color value lead with a #.","example":"#33AA55","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"icon":{"description":"The icon to be displayed on the scenario’s triggering button. NOTE: Some icons are only supported on mobile app versions above 4.34.","enum":[],"example":"flash","type":"string"},"id":{"description":"The ID of the Incident Plan Scenario","format":"uuid","type":"string"},"incidentPlanId":{"description":"The `id` of the Incident Plan for which this scenario belongs","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"name":{"description":"The name of the Incident Plan Scenario","example":"Test Notification","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incident-plans_visitor-aware-mapping-status.response":{"properties":{"areMappingsMissing":{"description":"False if all sites have location mappings in Visitor Aware, true otherwise","example":true,"type":"boolean"},"sitesWithoutMappings":{"description":"List of sites missing mappings, if any","items":{"properties":{"id":{"description":"The ID of the site","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"The name of the site","example":"UW-Madison","type":"string"}},"type":"object"},"type":"array"}},"required":[],"type":"object"},"incidents.post-request":{"properties":{"endedAt":{"description":"When the Incident ended.","format":"date-time","type":"string"},"incidentPlanId":{"description":"The ID of the Incident Plan from which the Incident was created.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"}},"required":[],"type":"object"},"incidents.response":{"properties":{"createdAt":{"description":"When the Incident began.","format":"date-time","type":"string"},"emergencyCallingStatus":{"$ref":"#/components/schemas/_incidents.emergency-calling-status","description":"If this incident included emergency calling, holds the most recent status received about the progress of contacting emergency services.","example":null},"endedAt":{"description":"When the Incident ended.","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this incident belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"The ID of the Incident.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_incidents.incident-plan","description":"The Incident Plan from which the Incident was created."},"incidentPlanId":{"description":"The ID of the Incident Plan from which the Incident was created.<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"messageTemplate":{"description":"An object containing the name of the Message Template used to trigger the Incident. `null` if triggered some other way.","properties":{"name":{"description":"The name of the message template used to trigger the incident","example":"All Clear","type":"string"}},"type":"object"},"messageTemplateId":{"description":"The `ID` of the Message Template used to trigger the Incident. `null` if triggered some other way.","format":"uuid","type":"string"},"notificationCreatedAt":{"description":"The `createdAt` value of the `Notification` that triggered this Incident. `null` if triggered manually via the `/incidents` API.","format":"date-time","type":"string"},"notificationId":{"description":"The `ID` of the Notification that triggered this Incident. `null` if triggered manually via the `/incidents` API.","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rostering":{"$ref":"#/components/schemas/_incidents.rostering","description":"Rostering statuses and locations associated with this Incident.","example":null},"scenario":{"$ref":"#/components/schemas/_scenarios.response-base","description":"The Scenario used to trigger the Incident. `null` if triggered some other way.","example":null},"site":{"description":"The site assigned to the incident. Used for Roll Call when assigning Roll Call members and administrators. Will be `null` if no site is assigned.","properties":{"id":{"description":"The id of the site assigned to the incident","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"The name of the site assigned to the incident","example":"UW-Madison","type":"string"}},"type":"object"},"updatedAt":{"description":"The last timestamp the Incident was updated at","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incidents_activities.post-request":{"properties":{"details":{"description":"A JSON object containing additional information about the Activity when it was created, such as the User email","properties":{"detail":{"description":"Any information you'd like to supply","example":"Ended by user request","type":"any"},"user":{"$ref":"#/components/schemas/_incidents_activities.details"}},"type":"object"},"type":{"description":"The type of Incident Activity","enum":["end-incident","rapid-sos-completed","rapid-sos-confirmed","rapid-sos-failed","rapid-sos-initiated","rapid-sos-no-response","rapid-sos-cancelled","rapid-sos-declined","rapid-sos-contacting-monitoring","incident-escalated","escalated-incident-linked","workflow-execution-linked"],"type":"string"}},"required":["incidentId","type"],"type":"object"},"incidents_activities.response":{"properties":{"createdAt":{"description":"When this Incident Activity was created","format":"date-time","type":"string"},"details":{"description":"A JSON object containing additional information about the Activity when it was created, such as the User email","properties":{"detail":{"description":"Any information you'd like to supply","example":"Ended by user request","type":"any"},"user":{"$ref":"#/components/schemas/_incidents_activities.details"}},"type":"object"},"id":{"description":"The Activity ID","example":"8b79e8fb-c78e-11ee-a642-5bf1a6c508de","format":"uuid","type":"string"},"incidentId":{"description":"The Incident ID","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"type":{"description":"The type of Incident Activity","enum":["end-incident","rapid-sos-completed","rapid-sos-confirmed","rapid-sos-failed","rapid-sos-initiated","rapid-sos-no-response","rapid-sos-cancelled","rapid-sos-declined","rapid-sos-contacting-monitoring","incident-escalated","escalated-incident-linked","workflow-execution-linked"],"type":"string"},"userId":{"description":"The ID of the User that created the activity","format":"uuid","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"incidents_resources.post-request":{"properties":{"file":{"description":"The binary stream of the file data. The size of the file must not exceed 20 MiB. Must be specified for file resources.","format":"binary","type":"string"},"hyperlink":{"description":"The hyperlink for the Incident Resource. Must be specified for hyperlink resources.","example":"https://www.example.com","maximum":10000,"type":"string"},"name":{"description":"The name of the Incident Resource.","example":"Helpdesk Website","maximum":10000,"type":"string"},"type":{"description":"The Incident Resource type.  This is either 'hyperlink' or 'file'.","example":"hyperlink","maximum":10000,"type":"string"}},"required":["name","type"],"type":"object"},"incidents_resources.response":{"properties":{"contentType":{"description":"The content type of the Incident Resource. Only applies for file resources.","example":null,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"file":{"description":"The binary stream of the file data. The size of the file must not exceed 20 MiB. Must be specified for file resources.","format":"binary","type":"string"},"fileName":{"description":"The name of the uploaded file. Only applies for file resources.","example":null,"type":"string"},"hyperlink":{"description":"The hyperlink for the Incident Resource. Must be specified for hyperlink resources.","example":"https://www.example.com","maximum":10000,"type":"string"},"id":{"description":"The ID of the Incident Resource.","format":"uuid","type":"string"},"incidentId":{"description":"The `id` of the Incident for which this resource belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"metaData":{"description":"Any specific metadata about the file resource. Only applies for file resources.","example":null,"format":"json","type":"string"},"name":{"description":"The name of the Incident Resource.","example":"Helpdesk Website","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"size":{"description":"The size in bytes of file. Only applies for file resources.","example":null,"type":"integer"},"type":{"description":"The Incident Resource type.  This is either 'hyperlink' or 'file'.","example":"hyperlink","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incidents_rostering-members.post-request":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of 'Unknown’.","example":"Reunification Zone","maximum":10000,"type":"string"},"rosterMemberUserIds":{"description":"List of roster member user IDs for which to update status and location. Required on POST requests.","items":{"type":"string"},"type":"array"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of 'Unknown’.","example":"Safe","maximum":10000,"type":"string"}},"required":["incidentId"],"type":"object"},"incidents_rostering-members.put-request":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of 'Unknown’.","example":"Reunification Zone","maximum":10000,"type":"string"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of 'Unknown’.","example":"Safe","maximum":10000,"type":"string"}},"required":[],"type":"object"},"incidents_rostering-my-list.response":{"properties":{"incidentId":{"description":"The Incident ID","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member, `null` indicates location of 'Unknown’","example":"Classroom","type":"string"},"memberUser":{"description":"A JSON object containing the user name, email and ID for the Rostering (Roll Call) list member","properties":{"email":{"description":"The email of the Roster (Roll Call) member","example":"jane.doe@domain.com","type":"string"},"id":{"description":"The ID of the Roster (Roll Call) member","format":"uuid","type":"string"},"name":{"description":"The name of the Roster (Roll Call) member","example":"Jane Doe","type":"string"}},"type":"object"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"status":{"description":"The status of the Rostering (Roll Call) member, `null` indicates status of 'Unknown’","example":"Safe","type":"string"}},"required":["permissions"],"type":"object"},"incidents_rostering-report.response":{"properties":{"statusCounts":{"description":"A list of JSON objects that contain the status label and assigned user count for each status in the Rostering (Roll Call) incident. A status of `null` means `Unknown`","items":{"properties":{"count":{"description":"The number of users currently assigned to this status in the Rostering (Roll Call) event","example":370,"type":"integer"},"status":{"description":"The status of the Rostering (Roll Call) member, `null` indicates status of `Unknown`","example":"Safe","type":"string"}},"type":"object"},"type":"array"}},"required":[],"type":"object"},"incidents_site.post-request":{"properties":{"siteId":{"description":"The ID of the Site that is being set for the Incident.","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"}},"required":["siteId"],"type":"object"},"incidents_tracking-streams.post-request":{"properties":{"incidentId":{"description":"The ID of the Incident from which the Tracking Stream was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"initiationDevice":{"description":"Details about the device that initiated the Tracking Stream. This value is stored in the metadata field of the `initiationDevice` in the response","example":"{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}","properties":{"lookupValue":{"description":"The value used to identify this device in InformaCast. For API Devices, this is the External ID. For IP Speakers, it's the MAC Address.","example":"vape-123","type":"string"},"type":{"description":"The type of the device, either api-device or ip-speaker","example":"api-device","type":"string"}},"type":"object"},"initiationUserId":{"description":"The ID of the user the Tracking Stream was initiated by","format":"uuid","type":"string"}},"required":["state","initiationDevice"],"type":"object"},"incidents_tracking-streams.response":{"properties":{"createdAt":{"description":"When the Tracking Stream began.","format":"date-time","type":"string"},"endedAt":{"description":"When the Tracking Stream ended.","format":"date-time","type":"string"},"endedComment":{"description":"The user-supplied reason the Tracking Stream ended.","type":"string"},"endedReason":{"description":"The reason the Tracking Stream ended.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"id":{"description":"The ID of the Tracking Stream.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"initiationDevice":{"description":"Details about the device that initiated the Tracking Stream. This value is stored in the metadata field of the `initiationDevice` in the response","example":"{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}","properties":{"lookupValue":{"description":"The value used to identify this device in InformaCast. For API Devices, this is the External ID. For IP Speakers, it's the MAC Address.","example":"vape-123","type":"string"},"type":{"description":"The type of the device, either api-device or ip-speaker","example":"api-device","type":"string"}},"type":"object"},"initiationUser":{"$ref":"#/components/schemas/_tracking-streams.user","description":"The User the Tracking Stream was initiated by"},"initiationUserId":{"description":"The ID of the user the Tracking Stream was initiated by","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"state":{"description":"The state of the Tracking Stream","enum":["active","ended"],"example":"active","type":"string"},"updatedAt":{"description":"The last timestamp the Tracking Stream was updated at","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incidents_tracking-streams_end.post-request":{"properties":{"comment":{"description":"A user-supplied reason the Tracking Stream is ending. For ended event types only.","example":"User no longer needed help.","maximum":10000,"type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"reason":{"description":"The reason the Tracking Stream is ending. For ended event types only.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"}},"required":["reason"],"type":"object"},"incidents_tracking-streams_end.response":{"properties":{"comment":{"description":"A user-supplied reason the Tracking Stream is ending. For ended event types only.","example":"User no longer needed help.","maximum":10000,"type":"string"},"createdAt":{"description":"When the Tracking Stream Event was created.","format":"date-time","type":"string"},"id":{"description":"The ID of the Tracking Stream Event.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reason":{"description":"The reason the Tracking Stream is ending. For ended event types only.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"},"type":{"description":"The type of Tracking Stream Event.","enum":["ended"],"example":"ended","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incidents_tracking-streams_events.response":{"properties":{"comment":{"description":"A user-supplied reason the Tracking Stream is ending. For ended event types only.","example":"User no longer needed help.","type":"string"},"createdAt":{"description":"When the Tracking Stream Event was created.","format":"date-time","type":"string"},"id":{"description":"The ID of the Tracking Stream Event.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"The location of the event. For location-updated event types only."},"locationResolutionStatusCode":{"description":"The location resolution of the event.","enum":["SINGLE_BEACON","MULTIPLE_BEACONS","GATEWAY_ONLY","OS_LOCATION"],"example":"OS_LOCATION","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reason":{"description":"The reason the Tracking Stream is ending. For ended event types only.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"},"type":{"description":"The type of Tracking Stream Event.","enum":["ended","location-updated"],"example":"ended","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"incidents_tracking-streams_update-location.post-request":{"properties":{"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"The location of the event. For location-updated event types only."},"locationResolutionStatusCode":{"description":"The location resolution of the event.","enum":["SINGLE_BEACON","MULTIPLE_BEACONS","GATEWAY_ONLY","OS_LOCATION"],"example":"OS_LOCATION","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"}},"required":["locationResolutionStatusCode","location"],"type":"object"},"incidents_tracking-streams_update-location.response":{"properties":{"createdAt":{"description":"When the Tracking Stream Event was created.","format":"date-time","type":"string"},"id":{"description":"The ID of the Tracking Stream Event.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"The location of the event. For location-updated event types only."},"locationResolutionStatusCode":{"description":"The location resolution of the event.","enum":["SINGLE_BEACON","MULTIPLE_BEACONS","GATEWAY_ONLY","OS_LOCATION"],"example":"OS_LOCATION","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"},"type":{"description":"The type of Tracking Stream Event.","enum":["location-updated"],"example":"location-updated","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"installed-applications.post-request":{"properties":{"applicationId":{"description":"The ID of the Application","format":"uuid","type":"string"}},"required":["applicationId"],"type":"object"},"installed-applications.response":{"properties":{"application":{"$ref":"#/components/schemas/_installed-applications.application","description":"The application that was installed"},"applicationId":{"description":"The ID of the Application","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"The ID of the Application's installation","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"scopes":{"description":"The scopes of the installed Application","example":["urn:singlewire:message-templates:read","urn:singlewire:session:read"],"items":{"type":"string"},"type":"array","uniqueItems":true},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"installed-applications_tokens.response":{"properties":{"client":{"description":"The `id` of the OAuth2 client with which the token is associated","example":"XDAZN4LAYH5CUXXPTSDYNHWG4J6MRXNF","type":"string"},"createdAt":{"description":"The date/time the token was created at","example":"2026-10-15T18:53:04.947Z","format":"date-time","type":"string"},"expires":{"description":"The current expiration date/time of the token","example":"2026-10-16T06:53:04.947Z","format":"date-time","type":"string"},"id":{"description":"ID of the token","example":"fe9439c4-f201-11ee-ac85-e522b32d943d","format":"uuid","type":"string"},"name":{"description":"Name of Token","example":"Smoke and CO Monitoring","maximum":10000,"type":"string"},"originCreatedAt":{"description":"For refresh tokens, the date/time the token's session was created at","example":"2026-10-15T18:53:04.947Z","format":"date-time","type":"string"},"originId":{"description":"For refresh tokens, the ID of the token's session","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"refreshTokenUsed":{"description":"Whether the refresh token has been used","example":false,"type":"boolean"},"scope":{"description":"Scope of the token","example":"urn:singlewire:message-templates:read urn:singlewire:session:read","type":"string"},"subject":{"description":"Subject of the token","example":"18ef74c7-17b0-4000-8e29-119323e0cd01","type":"string"},"tokenType":{"description":"The type of the token","enum":["refresh_token"],"example":"refresh_token","type":"string"}},"required":["permissions","id"],"type":"object"},"ip-cameras.post-request":{"properties":{"buildingId":{"description":"ID of the building to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"floorId":{"description":"ID of the floor to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the camera is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list cameras whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"siteId":{"description":"ID of the site to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"ID of the zone to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"}},"required":[],"type":"object"},"ip-cameras.put-request":{"properties":{"buildingId":{"description":"ID of the building to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"floorId":{"description":"ID of the floor to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the camera is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list cameras whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"siteId":{"description":"ID of the site to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"ID of the zone to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"}},"required":[],"type":"object"},"ip-cameras.response":{"properties":{"building":{"$ref":"#/components/schemas/_api-devices.building","description":"The building to which the IP camera is assigned"},"buildingId":{"description":"ID of the building to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalDetails":{"description":"Additional info about IP Camera from vendor (e.g. mac address, model, location)","example":{"macAddress":"AA:BB:CC:DD:EE:FF","model":"T"},"format":"json","type":"string"},"externalId":{"description":"External ID of the IP camera in the camera vendor system","example":"39b8111b-d8fc-414d-a9e7-71155da04171","type":"string"},"facilityId":{"description":"The ID of the facility this IP Camera belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_api-devices.floor","description":"The floor to which the IP camera is assigned"},"floorId":{"description":"ID of the floor to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"id":{"description":"ID of the IP camera","example":"7fe46a86-e254-11ee-8562-11690a18fc06","format":"uuid","type":"string"},"isConfigured":{"description":"Whether the IP camera has been configured with a location","example":"true","type":"boolean"},"name":{"description":"Name of the IP camera in the camera vendor system","example":"Main entrance","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the camera is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list cameras whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"site":{"$ref":"#/components/schemas/_api-devices.site","description":"The site to which the IP camera is assigned"},"siteId":{"description":"ID of the site to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"vendorConfigId":{"description":"ID of the IP camera vendor config","format":"uuid","type":"string"},"zone":{"$ref":"#/components/schemas/_api-devices.zone","description":"The ID of the Zone the IP camera is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone."},"zoneId":{"description":"ID of the zone to which the IP camera is assigned","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"ip-speaker-jobs.post-request":{"properties":{"action":{"description":"The bulk action to perform on the device group filter matches","enum":["VOLUME_ADJUSTMENT","REBOOT","TEST","DELETE","REGENERATE_SIP_CREDENTIALS","SET_LOCATION"],"type":"string"},"buildingId":{"description":"The ID of the Building the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"floorId":{"description":"The ID of the Floor the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"macAddresses":{"description":"MAC Addresses of the speakers to perform actions on","example":["aabbccddeeff","ffeeddccbbaa"],"items":{"type":"string"},"maximum":20000,"minimum":1,"type":"array","uniqueItems":true},"siteId":{"description":"The ID of the Site the IP Speaker is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"testDuration":{"description":"The test duration for when action is `TEST`","example":5,"type":"integer"},"volumeAdjustment":{"description":"The volume adjustment for when action is `VOLUME_ADJUSTMENT`","example":2,"type":"integer"},"zoneId":{"description":"The ID of the Zone the IP Speaker is assigned to. ","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["macAddresses","action"],"type":"object"},"ip-speaker-jobs.response":{"properties":{"action":{"description":"The bulk action to perform on the device group filter matches","enum":["VOLUME_ADJUSTMENT","REBOOT","TEST","DELETE","REGENERATE_SIP_CREDENTIALS","SET_LOCATION"],"type":"string"},"buildingId":{"description":"The ID of the Building the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"error":{"description":"The reported error of the job (if any)","example":"NETWORK_REQUEST_FAILED","type":"string"},"facilityId":{"description":"The ID of the facility this speaker job belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floorId":{"description":"The ID of the Floor the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"ID of the job","format":"uuid","type":"string"},"macAddresses":{"description":"MAC Addresses of the speakers to perform actions on","example":["aabbccddeeff","ffeeddccbbaa"],"items":{"type":"string"},"maximum":20000,"minimum":1,"type":"array","uniqueItems":true},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"result":{"$ref":"#/components/schemas/_ip-speaker-jobs.result","description":"The reported result from the job (if any)"},"siteId":{"description":"The ID of the Site the IP Speaker is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"status":{"description":"The status of the job","enum":["QUEUED","RUNNING","SUCCESS","FAILED"],"type":"string"},"testDuration":{"description":"The test duration for when action is `TEST`","example":5,"type":"integer"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"volumeAdjustment":{"description":"The volume adjustment for when action is `VOLUME_ADJUSTMENT`","example":2,"type":"integer"},"zoneId":{"description":"The ID of the Zone the IP Speaker is assigned to. ","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"ip-speaker-settings.put-request":{"properties":{"idnAutoRegistration":{"description":"Set to `true` if you want registered computers running the IDN and LPI plugin paging zones to be automatically added and available for recipient group inclusion","type":"boolean"},"idnDefaultVolume":{"description":"Automatically added IDN instances and LPI plugin paging zones volume","example":10,"type":"integer"},"removeExpiredDesktopAfterDays":{"description":"The number of days in which configured and unregistered IDN instances will be automatically removed. Removed IDN instances will re-register with InformaCast if reconnected to your network, but they will reappear as either unconfigured or automatically added depending on the status of the *Automatically Add IDN Instances and LPI Plugin Paging Zones* setting. A value of `0` implies no IDNs are ever removed","example":90,"type":"integer"},"speakerAutoRegistration":{"description":"Set to `true` if you want registered hardware IP speakers to be automatically added and available for recipient group inclusion","type":"boolean"},"speakerCaptureKeepaliveInterval":{"description":"The interval at which the Singlewire Desktop Notification System sends a special heartbeat associated with an active audio capture (the default is two seconds). This value must be consistent with the `capture-keepalive-seconds` parameter in the `InformaCastSpeaker.cfg` file, and all instances of the Singlewire Desktop Notification System must use the same interval","example":2,"type":"integer"},"speakerDefaultVolume":{"description":"Automatically added hardware IP speaker volume","example":10,"type":"integer"},"speakerRegistrationInterval":{"description":"The interval at which all types of IP speakers register with InformaCast (the default is 300 seconds). This value must be consistent with the `registration-interval` parameter defined in the `InformaCastSpeaker.cfg` file, and all IP speaker types must use the same interval. This field's value is in seconds, while the value in `InformaCastSpeaker.cfg` is in minutes. So this field's value must be 60 times the value in the `InformaCastSpeaker.cfg` file","example":300,"type":"integer"}},"required":[],"type":"object"},"ip-speaker-settings.response":{"properties":{"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"idnAutoRegistration":{"description":"Set to `true` if you want registered computers running the IDN and LPI plugin paging zones to be automatically added and available for recipient group inclusion","type":"boolean"},"idnDefaultVolume":{"description":"Automatically added IDN instances and LPI plugin paging zones volume","example":10,"type":"integer"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"removeExpiredDesktopAfterDays":{"description":"The number of days in which configured and unregistered IDN instances will be automatically removed. Removed IDN instances will re-register with InformaCast if reconnected to your network, but they will reappear as either unconfigured or automatically added depending on the status of the *Automatically Add IDN Instances and LPI Plugin Paging Zones* setting. A value of `0` implies no IDNs are ever removed","example":90,"type":"integer"},"speakerAutoRegistration":{"description":"Set to `true` if you want registered hardware IP speakers to be automatically added and available for recipient group inclusion","type":"boolean"},"speakerCaptureKeepaliveInterval":{"description":"The interval at which the Singlewire Desktop Notification System sends a special heartbeat associated with an active audio capture (the default is two seconds). This value must be consistent with the `capture-keepalive-seconds` parameter in the `InformaCastSpeaker.cfg` file, and all instances of the Singlewire Desktop Notification System must use the same interval","example":2,"type":"integer"},"speakerDefaultVolume":{"description":"Automatically added hardware IP speaker volume","example":10,"type":"integer"},"speakerRegistrationInterval":{"description":"The interval at which all types of IP speakers register with InformaCast (the default is 300 seconds). This value must be consistent with the `registration-interval` parameter defined in the `InformaCastSpeaker.cfg` file, and all IP speaker types must use the same interval. This field's value is in seconds, while the value in `InformaCastSpeaker.cfg` is in minutes. So this field's value must be 60 times the value in the `InformaCastSpeaker.cfg` file","example":300,"type":"integer"},"updatedAt":{"description":"The last time the resource was updated","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"ip-speaker-sip-parameters.put-request":{"properties":{"callRingTime":{"description":"How long a call is allowed to ring, in seconds; range is 5-9999 seconds","example":5,"type":"integer"},"configureWithDnsSrv":{"description":"Flag indicating if a DNS `SRV` lookup should be performed to get the telephony providers, `true` if a DNS `SRV` lookup is performed","type":"boolean"},"endpointId":{"description":"The endpoint the IP Speaker SIP Parameters belong to","format":"uuid","type":"string"},"lineSideAuthId":{"description":"The authentication ID used with a line side connection to a telephony provider used for digest authentication","example":"my.auth.id","maximum":100,"type":"string"},"lineSideAuthPassword":{"description":"The authentication password used with a line side connection to a telephony provider, used for digest authentication","example":"my.auth.password","maximum":100,"type":"string"},"lineSideConnection":{"description":"Flag indicating if SIP speakers interact with a telephony provider through a trunk or line side connection, `true` if speakers interact with a telephony provider through a line side connection","type":"boolean"},"lineSideOutboundProxy":{"description":"The outbound proxy server used with a line side connection to a telephony provider","example":"10.2.42.1","maximum":1024,"type":"string"},"lineSideSecureRtpRequired":{"description":"Flag indicating whether media must be encrypted when using a line side connection","type":"boolean"},"lineSideSipDomain":{"description":"The SIP domain used with a line side connection to a telephony provider","example":"domain.lan","maximum":100,"type":"string"},"lineSideSipIdentity":{"description":"The SIP identity (user) used with a line side connection to a telephony provider","example":"my.user","maximum":100,"type":"string"},"lineSideTransportProtocol":{"description":"SIP Transport protocol used when calling a telephony provider via line side connection","enum":["TLS","TCP","UDP"],"type":"string"},"numericDnType":{"description":"When `true`, a SIP speaker DN must use only numeric characters when it is added or modified. When `false`, a SIP speaker DN may use both numeric and non-numeric characters when it is added or modified","type":"boolean"},"optionsPingInterval":{"description":"How often SIP `OPTIONS` requests are sent to monitor the availability of the telephony providers, in seconds. Requests are not sent when InformaCast is configured to use secure SIP signalling (TLS SIP transport protocol)","example":30,"type":"integer"},"passSpeakerDn":{"description":"Enabling this property, which corresponds to the 'Display Speaker DN' form field, allows a calling speaker's DN to appear on the receiving phone's screen by inserting it into the From header of the outgoing SIP INVITE message.","type":"boolean"},"registrationInterval":{"description":"How often a SIP speaker must register itself, in seconds","example":300,"type":"integer"},"telephonyProviders":{"description":"Comma-separated list of telephony providers that can be used when SIP speakers place calls. The first provider is the most preferred. Use 127.0.0.1 when there are no telephony providers. If using DNS `SRV` lookup, this will be the domain name of your UCaaS provider","example":"10.1.2.12,10.2.3.146","maximum":255,"type":"string"},"transportProtocol":{"description":"SIP Transport protocol used when calling a telephony provider; must be `TCP`","enum":["TCP"],"type":"string"},"useToHeader":{"description":"Enabling this property, which corresponds to the 'Bypass the IVR Menu' form field, allows you to skip a SIP speaker's Inbound Call Voice Menu by evaluating the user section of the SIP INVITE message's To header rather than its Request URI.","type":"boolean"}},"required":[],"type":"object"},"ip-speaker-sip-parameters.response":{"properties":{"callRingTime":{"description":"How long a call is allowed to ring, in seconds; range is 5-9999 seconds","example":5,"type":"integer"},"configureWithDnsSrv":{"description":"Flag indicating if a DNS `SRV` lookup should be performed to get the telephony providers, `true` if a DNS `SRV` lookup is performed","type":"boolean"},"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"endpoint":{"$ref":"#/components/schemas/_ip-speaker-sip-parameters.endpoint","description":"Endpoint information associated with the SIP parameters"},"endpointId":{"description":"The endpoint the IP Speaker SIP Parameters belong to","format":"uuid","type":"string"},"id":{"description":"ID of the IP Speaker SIP Parameters","format":"uuid","type":"string"},"lineSideAuthId":{"description":"The authentication ID used with a line side connection to a telephony provider used for digest authentication","example":"my.auth.id","maximum":100,"type":"string"},"lineSideConnection":{"description":"Flag indicating if SIP speakers interact with a telephony provider through a trunk or line side connection, `true` if speakers interact with a telephony provider through a line side connection","type":"boolean"},"lineSideOutboundProxy":{"description":"The outbound proxy server used with a line side connection to a telephony provider","example":"10.2.42.1","maximum":1024,"type":"string"},"lineSideSecureRtpRequired":{"description":"Flag indicating whether media must be encrypted when using a line side connection","type":"boolean"},"lineSideSipDomain":{"description":"The SIP domain used with a line side connection to a telephony provider","example":"domain.lan","maximum":100,"type":"string"},"lineSideSipIdentity":{"description":"The SIP identity (user) used with a line side connection to a telephony provider","example":"my.user","maximum":100,"type":"string"},"lineSideTransportProtocol":{"description":"SIP Transport protocol used when calling a telephony provider via line side connection","enum":["TLS","TCP","UDP"],"type":"string"},"numericDnType":{"description":"When `true`, a SIP speaker DN must use only numeric characters when it is added or modified. When `false`, a SIP speaker DN may use both numeric and non-numeric characters when it is added or modified","type":"boolean"},"optionsPingInterval":{"description":"How often SIP `OPTIONS` requests are sent to monitor the availability of the telephony providers, in seconds. Requests are not sent when InformaCast is configured to use secure SIP signalling (TLS SIP transport protocol)","example":30,"type":"integer"},"passSpeakerDn":{"description":"Enabling this property, which corresponds to the 'Display Speaker DN' form field, allows a calling speaker's DN to appear on the receiving phone's screen by inserting it into the From header of the outgoing SIP INVITE message.","type":"boolean"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"registrationInterval":{"description":"How often a SIP speaker must register itself, in seconds","example":300,"type":"integer"},"syncId":{"description":"The ID of this record in the Fusion database, used for optimizing sync performance","type":"string"},"telephonyProviders":{"description":"Comma-separated list of telephony providers that can be used when SIP speakers place calls. The first provider is the most preferred. Use 127.0.0.1 when there are no telephony providers. If using DNS `SRV` lookup, this will be the domain name of your UCaaS provider","example":"10.1.2.12,10.2.3.146","maximum":255,"type":"string"},"transportProtocol":{"description":"SIP Transport protocol used when calling a telephony provider; must be `TCP`","enum":["TCP"],"type":"string"},"updatedAt":{"description":"The last time the resource was updated","format":"date-time","type":"string"},"useToHeader":{"description":"Enabling this property, which corresponds to the 'Bypass the IVR Menu' form field, allows you to skip a SIP speaker's Inbound Call Voice Menu by evaluating the user section of the SIP INVITE message's To header rather than its Request URI.","type":"boolean"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"ip-speakers.post-request":{"properties":{"buildingId":{"description":"The ID of the Building the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"description":{"description":"The description associated with the speaker","example":"Located at near the Main Lobby by the Front Desk.","maximum":200,"type":"string"},"dialCode":{"description":"The speaker's dial code (numeric shortcut for optional dial interface. May only contain digits (0-9), asterisks (*) and pound signs (#))","maximum":11,"type":"string"},"floorId":{"description":"The ID of the Floor the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"macAddress":{"description":"The MAC address which identifies the speaker","example":"aabbccddeeff","maximum":10000,"type":"string"},"name":{"description":"The brief name associated with the speaker","example":"Main Lobby Speaker","maximum":50,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the IP Speaker is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list IP Speakers whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"scrollSpeedAdjustment":{"description":"The scroll speed adjustment applied when a message is sent to this speaker","type":"integer"},"sipIntercomEnabled":{"description":"Enable SIP-based intercom (speaker must support SIP)","type":"boolean"},"sipSpeakerAutoAnswer":{"description":"Determines if the speaker will answer a call sent to it without user interaction. If `true`, the speaker will answer a call sent to it without user interaction. If `false`, a call will require interaction with a user to be answered. (applies only to SIP intercom enabled speaker)","type":"boolean"},"sipSpeakerDn":{"description":"Directory number that the speaker will receive calls on (applies only to SIP intercom enabled speaker)","example":"1234","maximum":50,"type":"string"},"sipSpeakerDnToDial":{"description":"Directory number the speaker will dial when placing calls (applies only to SIP intercom enabled speaker)","example":"4321","maximum":50,"type":"string"},"sipSpeakerMicVolume":{"description":"The SIP speaker microphone volume (applies only to SIP intercom enabled speaker), requires a speaker reboot if changed","example":10,"type":"integer"},"sipSpeakerRingVolume":{"description":"The SIP speaker ring volume (applies only to SIP intercom enabled speaker), requires a speaker reboot if changed","example":10,"type":"integer"},"siteId":{"description":"The ID of the Site the IP Speaker is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"volume":{"description":"The volume level at which audio should be played (default is 10)","type":"integer"},"zoneId":{"description":"The ID of the Zone the IP Speaker is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["name","macAddress","sipIntercomEnabled","sipSpeakerMicVolume","sipSpeakerRingVolume","sipSpeakerAutoAnswer"],"type":"object"},"ip-speakers.put-request":{"properties":{"buildingId":{"description":"The ID of the Building the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"description":{"description":"The description associated with the speaker","example":"Located at near the Main Lobby by the Front Desk.","maximum":200,"type":"string"},"dialCode":{"description":"The speaker's dial code (numeric shortcut for optional dial interface. May only contain digits (0-9), asterisks (*) and pound signs (#))","maximum":11,"type":"string"},"floorId":{"description":"The ID of the Floor the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"macAddress":{"description":"The MAC address which identifies the speaker","example":"aabbccddeeff","maximum":10000,"type":"string"},"name":{"description":"The brief name associated with the speaker","example":"Main Lobby Speaker","maximum":50,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the IP Speaker is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list IP Speakers whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"scrollSpeedAdjustment":{"description":"The scroll speed adjustment applied when a message is sent to this speaker","type":"integer"},"sipIntercomEnabled":{"description":"Enable SIP-based intercom (speaker must support SIP)","type":"boolean"},"sipSpeakerAutoAnswer":{"description":"Determines if the speaker will answer a call sent to it without user interaction. If `true`, the speaker will answer a call sent to it without user interaction. If `false`, a call will require interaction with a user to be answered. (applies only to SIP intercom enabled speaker)","type":"boolean"},"sipSpeakerDn":{"description":"Directory number that the speaker will receive calls on (applies only to SIP intercom enabled speaker)","example":"1234","maximum":50,"type":"string"},"sipSpeakerDnToDial":{"description":"Directory number the speaker will dial when placing calls (applies only to SIP intercom enabled speaker)","example":"4321","maximum":50,"type":"string"},"sipSpeakerMicVolume":{"description":"The SIP speaker microphone volume (applies only to SIP intercom enabled speaker), requires a speaker reboot if changed","example":10,"type":"integer"},"sipSpeakerRingVolume":{"description":"The SIP speaker ring volume (applies only to SIP intercom enabled speaker), requires a speaker reboot if changed","example":10,"type":"integer"},"siteId":{"description":"The ID of the Site the IP Speaker is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"volume":{"description":"The volume level at which audio should be played (default is 10)","type":"integer"},"zoneId":{"description":"The ID of the Zone the IP Speaker is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":[],"type":"object"},"ip-speakers.response":{"properties":{"building":{"$ref":"#/components/schemas/_api-devices.building","description":"Contains the name, ID, and type of the building to which this IP Speaker belongs"},"buildingId":{"description":"The ID of the Building the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"description":{"description":"The description associated with the speaker","example":"Located at near the Main Lobby by the Front Desk.","maximum":200,"type":"string"},"dialCode":{"description":"The speaker's dial code (numeric shortcut for optional dial interface. May only contain digits (0-9), asterisks (*) and pound signs (#))","maximum":11,"type":"string"},"facilityId":{"description":"The ID of the facility this IP Speaker belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_api-devices.floor","description":"Contains the name and ID of the floor to which this IP Speaker belongs"},"floorId":{"description":"The ID of the Floor the IP Speaker is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"ID of the IP Speaker","format":"uuid","type":"string"},"macAddress":{"description":"The MAC address which identifies the speaker","example":"aabbccddeeff","maximum":10000,"type":"string"},"name":{"description":"The brief name associated with the speaker","example":"Main Lobby Speaker","maximum":50,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the IP Speaker is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list IP Speakers whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"registrationData":{"$ref":"#/components/schemas/_ip-speakers.registration-data","description":"The most recent registration data when requested"},"scrollSpeedAdjustment":{"description":"The scroll speed adjustment applied when a message is sent to this speaker","type":"integer"},"sipIntercomEnabled":{"description":"Enable SIP-based intercom (speaker must support SIP)","type":"boolean"},"sipSpeakerAutoAnswer":{"description":"Determines if the speaker will answer a call sent to it without user interaction. If `true`, the speaker will answer a call sent to it without user interaction. If `false`, a call will require interaction with a user to be answered. (applies only to SIP intercom enabled speaker)","type":"boolean"},"sipSpeakerDn":{"description":"Directory number that the speaker will receive calls on (applies only to SIP intercom enabled speaker)","example":"1234","maximum":50,"type":"string"},"sipSpeakerDnToDial":{"description":"Directory number the speaker will dial when placing calls (applies only to SIP intercom enabled speaker)","example":"4321","maximum":50,"type":"string"},"sipSpeakerMicVolume":{"description":"The SIP speaker microphone volume (applies only to SIP intercom enabled speaker), requires a speaker reboot if changed","example":10,"type":"integer"},"sipSpeakerRingVolume":{"description":"The SIP speaker ring volume (applies only to SIP intercom enabled speaker), requires a speaker reboot if changed","example":10,"type":"integer"},"site":{"$ref":"#/components/schemas/_api-devices.site","description":"Contains the name and ID of the site to which this IP Speaker belongs"},"siteId":{"description":"The ID of the Site the IP Speaker is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"syncId":{"description":"The ID of this record in the Fusion database, used for optimizing sync performance","type":"string"},"updatedAt":{"description":"The last time the resource was updated","format":"date-time","type":"string"},"volume":{"description":"The volume level at which audio should be played (default is 10)","type":"integer"},"zone":{"$ref":"#/components/schemas/_api-devices.zone","description":"Contains the name and ID of the zone to which this IP Speaker belongs"},"zoneId":{"description":"The ID of the Zone the IP Speaker is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"license-acceptances.post-request":{"properties":{"licenseType":{"description":"Type of license that was accepted.","enum":["rapid-sos"],"example":"rapid-sos","type":"string"}},"required":["licenseType"],"type":"object"},"license-acceptances.response":{"properties":{"acceptedAt":{"description":"When this license was accepted.","format":"date-time","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"historicalUser":{"$ref":"#/components/schemas/_license-acceptances.historical-user","description":"Information about the user as they existed when the license was accepted.","example":{"id":"5a1491a1-7371-11ee-aed1-7942d192a20f","name":"John Doe"}},"id":{"description":"ID of this acceptance.","format":"uuid","type":"string"},"licenseType":{"description":"Type of license that was accepted.","enum":["rapid-sos"],"example":"rapid-sos","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"userId":{"description":"ID of user accepting the license.","example":"5a1491a1-7371-11ee-aed1-7942d192a20f","format":"uuid","type":"string"}},"required":["permissions","createdAt"],"type":"object"},"load-definitions.post-request":{"properties":{"addPhoneCallDevices":{"description":"Used to determine what scim device types for which we should create phone devices on the cloud user loader users.","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"addSmsDevices":{"description":"Used to determine what scim device types for which we should create sms devices on the cloud user loader users.","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"applicationId":{"description":"ID of the associated application user for SCIM/SIS user loader.","format":"uuid","type":"string"},"deletePolicy":{"description":"If the load requests should delete or retain users not present in the CSV","enum":["delete","unlicense","retain"],"type":"string"},"deviceUpdatePolicy":{"description":"If the load requests should update existing user devices or skip updates","enum":["update","skip"],"type":"string"},"distributionListUpdatePolicy":{"description":"If the load requests should update existing distribution lists or skip updates","enum":["update","skip"],"type":"string"},"facilityUpdatePolicy":{"description":"If the load requests should update existing user facilities or skip updates","enum":["update","skip"],"type":"string"},"isYieldingUsers":{"description":"For manual load type, indicates whether the user loader should yield its users to cloud user loaders as part of a migration.","example":true,"type":"boolean"},"licenseNewGroups":{"description":"The value new scim groups will use for license_users. Does not affect existing groups.","example":true,"type":"boolean"},"loadType":{"description":"Type of the Load Definition. Distinguishes between the CSV loader and the cloud loaders.","enum":["manual","azure","sis"],"type":"string"},"name":{"description":"Name of the Load Definition","example":"Student Import","maximum":140,"type":"string"},"providerIdpId":{"description":"ID of the identity provider to use for logging in the users managed by the user loader. Currently ignored, reserved for future use.","format":"uuid","type":"string"},"securityGroupUpdatePolicy":{"description":"If the load requests should update existing security groups or skip updates","enum":["update","skip"],"type":"string"},"sisAuthUrl":{"description":"The authentication URL for a SIS/OneRoster system.","example":"https://example.com/sis/auth","maximum":1000,"type":"string"},"sisBaseUrl":{"description":"The base URL for a SIS/OneRoster system.","example":"https://example.com/sis","maximum":1000,"type":"string"},"sisClientId":{"description":"The client ID of a SIS/OneRoster system.","maximum":1000,"type":"string"},"sisClientSecret":{"description":"The client secret of a SIS/OneRoster system.","maximum":1000,"type":"string"},"sisFullSync":{"description":"For SIS loader, whether the upcoming sync will re-pull all data from the SIS/OneRoster system, rather than retrieving only new changes (updating already existing resources). Once set to true, cannot be changed until next sync resets it to false. N/A for initial loader creation.","example":true,"type":"boolean"},"sisIncludeUserTypes":{"$ref":"#/components/schemas/_load-definitions.sis-include-user-types","description":"Whether to import student, teacher, and parent/guardian information, formatted as a json object"},"sisParentUserType":{"description":"User type for parents. Defaults to regular.","enum":["regular","receiver"],"type":"string"},"sisStaffUserType":{"description":"User type for staff. Defaults to regular.","enum":["regular","receiver"],"type":"string"},"sisStudentUserType":{"description":"User type for students. Defaults to rostered.","enum":["regular","receiver","rostered"],"type":"string"},"sisTeacherUserType":{"description":"User type for teachers. Defaults to regular.","enum":["regular","receiver"],"type":"string"},"sisVerboseLogging":{"description":"For SIS loader, sets logging to verbose for the next sync. Once set to true, cannot be changed until the next sync resets it to false. N/A for initial loader creation.","example":true,"type":"boolean"}},"required":["name"],"type":"object"},"load-definitions.put-request":{"properties":{"addPhoneCallDevices":{"description":"Used to determine what scim device types for which we should create phone devices on the cloud user loader users.","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"addSmsDevices":{"description":"Used to determine what scim device types for which we should create sms devices on the cloud user loader users.","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"applicationId":{"description":"ID of the associated application user for SCIM/SIS user loader.","format":"uuid","type":"string"},"deletePolicy":{"description":"If the load requests should delete or retain users not present in the CSV","enum":["delete","unlicense","retain"],"type":"string"},"deviceUpdatePolicy":{"description":"If the load requests should update existing user devices or skip updates","enum":["update","skip"],"type":"string"},"distributionListUpdatePolicy":{"description":"If the load requests should update existing distribution lists or skip updates","enum":["update","skip"],"type":"string"},"facilityUpdatePolicy":{"description":"If the load requests should update existing user facilities or skip updates","enum":["update","skip"],"type":"string"},"isYieldingUsers":{"description":"For manual load type, indicates whether the user loader should yield its users to cloud user loaders as part of a migration.","example":true,"type":"boolean"},"licenseNewGroups":{"description":"The value new scim groups will use for license_users. Does not affect existing groups.","example":true,"type":"boolean"},"loadType":{"description":"Type of the Load Definition. Distinguishes between the CSV loader and the cloud loaders.","enum":["manual","azure","sis"],"type":"string"},"name":{"description":"Name of the Load Definition","example":"Student Import","maximum":140,"type":"string"},"providerIdpId":{"description":"ID of the identity provider to use for logging in the users managed by the user loader. Currently ignored, reserved for future use.","format":"uuid","type":"string"},"securityGroupUpdatePolicy":{"description":"If the load requests should update existing security groups or skip updates","enum":["update","skip"],"type":"string"},"sisAuthUrl":{"description":"The authentication URL for a SIS/OneRoster system.","example":"https://example.com/sis/auth","maximum":1000,"type":"string"},"sisBaseUrl":{"description":"The base URL for a SIS/OneRoster system.","example":"https://example.com/sis","maximum":1000,"type":"string"},"sisClientId":{"description":"The client ID of a SIS/OneRoster system.","maximum":1000,"type":"string"},"sisClientSecret":{"description":"The client secret of a SIS/OneRoster system.","maximum":1000,"type":"string"},"sisFullSync":{"description":"For SIS loader, whether the upcoming sync will re-pull all data from the SIS/OneRoster system, rather than retrieving only new changes (updating already existing resources). Once set to true, cannot be changed until next sync resets it to false. N/A for initial loader creation.","example":true,"type":"boolean"},"sisVerboseLogging":{"description":"For SIS loader, sets logging to verbose for the next sync. Once set to true, cannot be changed until the next sync resets it to false. N/A for initial loader creation.","example":true,"type":"boolean"}},"required":[],"type":"object"},"load-definitions.response":{"properties":{"addPhoneCallDevices":{"description":"Used to determine what scim device types for which we should create phone devices on the cloud user loader users.","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"addSmsDevices":{"description":"Used to determine what scim device types for which we should create sms devices on the cloud user loader users.","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"applicationId":{"description":"ID of the associated application user for SCIM/SIS user loader.","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deletePolicy":{"description":"If the load requests should delete or retain users not present in the CSV","enum":["delete","unlicense","retain"],"type":"string"},"deviceUpdatePolicy":{"description":"If the load requests should update existing user devices or skip updates","enum":["update","skip"],"type":"string"},"distributionListUpdatePolicy":{"description":"If the load requests should update existing distribution lists or skip updates","enum":["update","skip"],"type":"string"},"facilityUpdatePolicy":{"description":"If the load requests should update existing user facilities or skip updates","enum":["update","skip"],"type":"string"},"id":{"description":"ID of the load request","format":"uuid","type":"string"},"isYieldingUsers":{"description":"For manual load type, indicates whether the user loader should yield its users to cloud user loaders as part of a migration.","example":true,"type":"boolean"},"lastSyncStartedAt":{"description":"When available, timestamp of last sync start time.","example":"2024-08-01T21:08:31.433Z","type":"string"},"licenseNewGroups":{"description":"The value new scim groups will use for license_users. Does not affect existing groups.","example":true,"type":"boolean"},"loadType":{"description":"Type of the Load Definition. Distinguishes between the CSV loader and the cloud loaders.","enum":["manual","azure","sis"],"type":"string"},"name":{"description":"Name of the Load Definition","example":"Student Import","maximum":140,"type":"string"},"nextSyncAt":{"description":"When available, timestamp of next sync start time.","example":"2024-08-01T23:08:00.000Z","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"providerIdpId":{"description":"ID of the identity provider to use for logging in the users managed by the user loader. Currently ignored, reserved for future use.","format":"uuid","type":"string"},"securityGroupUpdatePolicy":{"description":"If the load requests should update existing security groups or skip updates","enum":["update","skip"],"type":"string"},"sisAuthUrl":{"description":"The authentication URL for a SIS/OneRoster system.","example":"https://example.com/sis/auth","maximum":1000,"type":"string"},"sisBaseUrl":{"description":"The base URL for a SIS/OneRoster system.","example":"https://example.com/sis","maximum":1000,"type":"string"},"sisClientId":{"description":"The client ID of a SIS/OneRoster system.","maximum":1000,"type":"string"},"sisFullSync":{"description":"For SIS loader, whether the upcoming sync will re-pull all data from the SIS/OneRoster system, rather than retrieving only new changes (updating already existing resources). Once set to true, cannot be changed until next sync resets it to false. N/A for initial loader creation.","example":true,"type":"boolean"},"sisIncludeUserTypes":{"$ref":"#/components/schemas/_load-definitions.sis-include-user-types","description":"Whether to import student, teacher, and parent/guardian information, formatted as a json object"},"sisParentUserType":{"description":"User type for parents. Defaults to regular.","enum":["regular","receiver"],"type":"string"},"sisStaffUserType":{"description":"User type for staff. Defaults to regular.","enum":["regular","receiver"],"type":"string"},"sisStudentUserType":{"description":"User type for students. Defaults to rostered.","enum":["regular","receiver","rostered"],"type":"string"},"sisTeacherUserType":{"description":"User type for teachers. Defaults to regular.","enum":["regular","receiver"],"type":"string"},"sisVerboseLogging":{"description":"For SIS loader, sets logging to verbose for the next sync. Once set to true, cannot be changed until the next sync resets it to false. N/A for initial loader creation.","example":true,"type":"boolean"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"load-definitions_distribution-list-mappings.post-request":{"properties":{"distributionListId":{"description":"ID of the distribution list to assign users being uploaded to the system if the corresponding tag is found on their line in the CSV upload","example":"18d3d9c3-bd80-4000-8a29-6af244425201","format":"uuid","type":"string"},"tagName":{"description":"Text label (containing no whitespace) which, when found in the `tags` field of a line in the CSV data being processed in a load request, will cause the user to be assigned to this distribution list","example":"Everyone","maximum":140,"type":"string"}},"required":[],"type":"object"},"load-definitions_distribution-list-mappings.put-request":{"properties":{"distributionListId":{"description":"ID of the distribution list to assign users being uploaded to the system if the corresponding tag is found on their line in the CSV upload","example":"18d3d9c3-bd80-4000-8a29-6af244425201","format":"uuid","type":"string"},"tagName":{"description":"Text label (containing no whitespace) which, when found in the `tags` field of a line in the CSV data being processed in a load request, will cause the user to be assigned to this distribution list","example":"Everyone","maximum":140,"type":"string"}},"required":[],"type":"object"},"load-definitions_distribution-list-mappings.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"distributionList":{"$ref":"#/components/schemas/_load-definitions_distribution-list-mappings.distribution-list","description":"Summary of the distribution list being mapped"},"distributionListId":{"description":"ID of the distribution list to assign users being uploaded to the system if the corresponding tag is found on their line in the CSV upload","example":"18d3d9c3-bd80-4000-8a29-6af244425201","format":"uuid","type":"string"},"id":{"description":"ID of the load definition distribution list mapping","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"tagName":{"description":"Text label (containing no whitespace) which, when found in the `tags` field of a line in the CSV data being processed in a load request, will cause the user to be assigned to this distribution list","example":"Everyone","maximum":140,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"load-definitions_facility-mappings.request":{"properties":{"facilityId":{"description":"Facility to map the tag to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"tagName":{"description":"Name of the Tag to map","maximum":140,"type":"string"}},"required":[],"type":"object"},"load-definitions_facility-mappings.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"Facility to map the tag to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"ID of the Tag Mapping","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"tagName":{"description":"Name of the Tag to map","maximum":140,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"load-definitions_load-requests.post-request":{"properties":{"data":{"description":"CSV file containing load data","format":"binary","type":"string"}},"required":[],"type":"object"},"load-definitions_remove-unlicensed-users.request":{"properties":{},"required":[],"type":"object"},"load-definitions_security-group-mappings.post-request":{"properties":{"securityGroupId":{"description":"The `id` of the Security Group to assign users being uploaded to the system if the corresponding tag is found on their line in the CSV upload","example":"92ba968d-a055-11ee-8ca7-759f162a262e","format":"uuid","type":"string"},"tagName":{"description":"A text label (containing no whitespace) which, when found in `the` tags field of a line in the CSV data being processed in a Load Request, will cause the user to be assigned to this security group","example":"BodyGuards","maximum":140,"type":"string"}},"required":[],"type":"object"},"load-definitions_security-group-mappings.put-request":{"properties":{"securityGroupId":{"description":"The `id` of the Security Group to assign users being uploaded to the system if the corresponding tag is found on their line in the CSV upload","example":"92ba968d-a055-11ee-8ca7-759f162a262e","format":"uuid","type":"string"},"tagName":{"description":"A text label (containing no whitespace) which, when found in `the` tags field of a line in the CSV data being processed in a Load Request, will cause the user to be assigned to this security group","example":"BodyGuards","maximum":140,"type":"string"}},"required":[],"type":"object"},"load-definitions_security-group-mappings.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"the `id` of this specific security group mapping, allowing it to be manipulate or retrieved individually","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityGroup":{"$ref":"#/components/schemas/_load-definitions_security-group-mappings.security-group","description":"Details of the security group being mapped"},"securityGroupId":{"description":"The `id` of the Security Group to assign users being uploaded to the system if the corresponding tag is found on their line in the CSV upload","example":"92ba968d-a055-11ee-8ca7-759f162a262e","format":"uuid","type":"string"},"tagName":{"description":"A text label (containing no whitespace) which, when found in `the` tags field of a line in the CSV data being processed in a Load Request, will cause the user to be assigned to this security group","example":"BodyGuards","maximum":140,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"load-definitions_user-type-mappings.post-request":{"properties":{"includeTypes":{"description":"When supplied, A comma-delimited list that specifies the user tag types to be included in the results.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"tagName":{"description":"A text label (containing no whitespace) which, when found in the `tags` field of a line in the CSV data being processed in a Load Request, will cause the user to be assigned to this user type","example":"students","maximum":140,"type":"string"},"userType":{"description":"User type to assign to the user","enum":["regular","receiver","rostered"],"type":"string"}},"required":[],"type":"object"},"load-definitions_user-type-mappings.put-request":{"properties":{"includeTypes":{"description":"When supplied, A comma-delimited list that specifies the user tag types to be included in the results.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"tagName":{"description":"A text label (containing no whitespace) which, when found in the `tags` field of a line in the CSV data being processed in a Load Request, will cause the user to be assigned to this user type","example":"students","maximum":140,"type":"string"},"userType":{"description":"User type to assign to the user","enum":["regular","receiver","rostered"],"type":"string"}},"required":[],"type":"object"},"load-definitions_user-type-mappings.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"the `id` of this specific user type mapping, allowing it to be manipulated or retrieved individually","format":"uuid","type":"string"},"includeTypes":{"description":"When supplied, A comma-delimited list that specifies the user tag types to be included in the results.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"tagName":{"description":"A text label (containing no whitespace) which, when found in the `tags` field of a line in the CSV data being processed in a Load Request, will cause the user to be assigned to this user type","example":"students","maximum":140,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userType":{"description":"User type to assign to the user","enum":["regular","receiver","rostered"],"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"message-templates.post-request":{"properties":{"alertTone":{"description":"Controls the sound played by a mobile phone or other compatible InformaCast Fusion Devices (i.e. desktops) when this message template is sent; `default` means to play the standard alert tone chosen by the device’s owner, `silent` means to play no tone, and other values choose specific named sounds","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"alertToneCustomizable":{"description":"Whether `alertTone` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIds":{"description":"The `id`s of the Areas of Interest to which notifications based on this template should be sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areaOfInterestIdsCustomizable":{"description":"Whether `areaOfInterestIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIdsDisplay":{"description":"Informs client applications whether the area of interest section should be displayed to senders when composing a notification based on this template, defaults to `show` when `areaOfInterestIds` are supplied","enum":["show","hide"],"example":"show","type":"string"},"audio":{"description":"Default audio content, a binary stream of audio data. The audio formats accepted include μ-law, Opus, MP3, Vorbis, or some other common WAV formats. Non μ-law files will be converted to μ-law and the size of the converted audio must not exceed [10 MiB](https://en.wikipedia.org/wiki/Byte#Multiple-byte_units) In responses, the size in bytes of the attached audio, or zero if there is none (this is now redundant with the `audioFiles` attribute, and will likely be deprecated and removed in a future release)","format":"binary","type":"string"},"audioCustomizable":{"description":"Whether `audio` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"audioDisplay":{"description":"Informs client applications whether the audio section should be displayed to senders when composing a notification based on this template, defaults to `show` when audio is present","enum":["show","hide"],"type":"string"},"body":{"description":"Default optional detailed body text, may be up to 10,000 characters long","example":"Please stay alert for updates as we track the intruder.","maximum":10000,"type":"string"},"bodyCustomizable":{"description":"Whether the body can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"cancelNotificationsType":{"description":"When a notification sent with this message template, determines what other notifications should be canceled: `none`, `all`, or `specific` (based on the message templates used for those other notifications)","enum":["all","none","specific"],"example":"none","type":"string"},"cancelNotificationsTypeDisplay":{"description":"Informs client applications whether the cancellation section should be displayed to senders when composing a notification based on this template","enum":["hide","show"],"type":"string"},"collaborationGroupIds":{"description":"The `id`s of Collaboration Groups which should, by default, receive notifications based on this template<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIdsCustomizable":{"description":"Whether `collaborationGroupIds` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"collaborationGroupIdsDisplay":{"description":"Informs client applications whether the collaboration groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `collaborationGroupIds` are supplied<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"confirmationRequestId":{"description":"The `id` of the attached Confirmation Request (this is what is actually stored; the expanded details about the Confirmation Request are returned as a convenience, to save clients from having to issue a separate request to look them up)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"confirmationRequestIdCustomizable":{"description":"Whether `confirmationRequestId` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"confirmationRequestIdDisplay":{"description":"Informs client applications whether the confirmation request section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["show","hide"],"type":"string"},"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"deviceGroupIds":{"description":"The `id`s of Device Groups which should, by default, receive notifications based on this template","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIdsCustomizable":{"description":"Whether `deviceGroupIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"deviceGroupIdsDisplay":{"description":"Informs client applications whether the device groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `deviceGroupIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"distributionListIds":{"description":"A list of `id`s of Distribution Lists which should, by default, receive notifications based on this template","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIdsCustomizable":{"description":"Whether `distributionListIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"distributionListIdsDisplay":{"description":"Informs client applications whether the distribution lists section should be displayed to senders when composing a notification based on this template, defaults to `show` when `distributionListIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"expiration":{"description":"The time in seconds the notification should expire from the time it is sent (a `null` value indicates the notification does not expire)","example":null,"type":"integer"},"expirationCustomizable":{"description":"Whether `expiration` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"expirationDisplay":{"description":"Informs client applications whether the expiration section should be displayed to senders when composing a notification based on this template, defaults to `show` when expiration is present","enum":["hide","show"],"type":"string"},"followUp":{"description":"Denotes whether this template is usable for a follow-up: if set to `true`, this template can be used as the `messageTemplateId` when sending a new notification based on an existing notification in the notification history. If set to `false`, attempting to use this template in the same manner will result in an error. Message templates that support a follow-up are subject to different validation rules (i.e. all recipient fields can be set non-customizable in addition to specifying no recipients when saving the template)","type":"boolean"},"image":{"description":"Binary stream of the default image to send with the notification. The size of the image must not exceed [10 MiB](https://en.wikipedia.org/wiki/Byte#Multiple-byte_units). In responses, the size in bytes of the attached image, or zero if there is none (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","format":"binary","type":"string"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageCustomizable":{"description":"Whether `image` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"imageDisplay":{"description":"Informs client applications whether the image section should be displayed to senders when composing a notification based on this template, defaults to `show` when image is present","enum":["show","hide"],"type":"string"},"imageMimeType":{"description":"The content type of the default image attached to the message template, if there is one (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/gif","image/jpg"],"type":"string"},"incidentPlanId":{"description":"Specifies the Incident Plan to use for the incident created from this message template, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"incidentPlanIdCustomizable":{"description":"Whether `incidentPlanId`can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":true,"type":"boolean"},"incidentPlanIdDisplay":{"description":"Informs client applications whether the incident plan section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"isShared":{"description":"Denotes whether or not this message template is globally shared","example":true,"type":"boolean"},"messageTemplateCancellationIds":{"description":"A list of `id`s of Message Templates: Notifications sent by these message templates will be canceled by any sends of the current message template","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"name":{"description":"Name of the message template, up to 140 characters long","example":"Intruder Alert","maximum":140,"type":"string"},"notificationProfileId":{"description":"The `id` of the Notification Profile used to configure the notification; omitting this value will default it to the default Notification Profile","format":"uuid","type":"string"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.<br>_Specifying value ':critical' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["critical","normal"],"example":"critical","type":"string"},"subject":{"description":"Default subject for notifications based on the message template, up to 255 characters long","example":"An intruder has been spotted!","maximum":255,"type":"string"},"subjectCustomizable":{"description":"Whether the subject can be customized when sending notifications (defaults to `false`)","type":"boolean"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsCustomContentCustomizable":{"description":"Whether ttsCustomContent` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"ttsSpeed":{"description":"The rate at which the text will be spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes are transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"example":"subject-and-body","type":"string"},"ttsVoiceId":{"description":"Specifies the Text-to-Speech Voice to be used when synthesizing audio for this message template","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"ttsVoiceIdCustomizable":{"description":"Whether `ttsVoiceId` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"},"userIds":{"description":"The ids of individual Users who should, by default, receive notifications based on this template, regardless of their distribution list memberships.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"userIdsCustomizable":{"description":"Whether `userIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"userIdsDisplay":{"description":"Informs client applications whether the individual user section should be displayed to senders when composing a notification based on this template, defaults to `show` when `userIds` are supplied","enum":["show","hide"],"example":"show","type":"string"}},"required":["name","subject"],"type":"object"},"message-templates.put-request":{"properties":{"alertTone":{"description":"Controls the sound played by a mobile phone or other compatible InformaCast Fusion Devices (i.e. desktops) when this message template is sent; `default` means to play the standard alert tone chosen by the device’s owner, `silent` means to play no tone, and other values choose specific named sounds","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"alertToneCustomizable":{"description":"Whether `alertTone` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIds":{"description":"The `id`s of the Areas of Interest to which notifications based on this template should be sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areaOfInterestIdsCustomizable":{"description":"Whether `areaOfInterestIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"areaOfInterestIdsDisplay":{"description":"Informs client applications whether the area of interest section should be displayed to senders when composing a notification based on this template, defaults to `show` when `areaOfInterestIds` are supplied","enum":["show","hide"],"example":"show","type":"string"},"audio":{"description":"Default audio content, a binary stream of audio data. The audio formats accepted include μ-law, Opus, MP3, Vorbis, or some other common WAV formats. Non μ-law files will be converted to μ-law and the size of the converted audio must not exceed [10 MiB](https://en.wikipedia.org/wiki/Byte#Multiple-byte_units) In responses, the size in bytes of the attached audio, or zero if there is none (this is now redundant with the `audioFiles` attribute, and will likely be deprecated and removed in a future release)","format":"binary","type":"string"},"audioCustomizable":{"description":"Whether `audio` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"audioDisplay":{"description":"Informs client applications whether the audio section should be displayed to senders when composing a notification based on this template, defaults to `show` when audio is present","enum":["show","hide"],"type":"string"},"body":{"description":"Default optional detailed body text, may be up to 10,000 characters long","example":"Please stay alert for updates as we track the intruder.","maximum":10000,"type":"string"},"bodyCustomizable":{"description":"Whether the body can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"cancelNotificationsType":{"description":"When a notification sent with this message template, determines what other notifications should be canceled: `none`, `all`, or `specific` (based on the message templates used for those other notifications)","enum":["all","none","specific"],"example":"none","type":"string"},"cancelNotificationsTypeDisplay":{"description":"Informs client applications whether the cancellation section should be displayed to senders when composing a notification based on this template","enum":["hide","show"],"type":"string"},"collaborationGroupIds":{"description":"The `id`s of Collaboration Groups which should, by default, receive notifications based on this template<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIdsCustomizable":{"description":"Whether `collaborationGroupIds` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"collaborationGroupIdsDisplay":{"description":"Informs client applications whether the collaboration groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `collaborationGroupIds` are supplied<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"confirmationRequestId":{"description":"The `id` of the attached Confirmation Request (this is what is actually stored; the expanded details about the Confirmation Request are returned as a convenience, to save clients from having to issue a separate request to look them up)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"confirmationRequestIdCustomizable":{"description":"Whether `confirmationRequestId` can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"confirmationRequestIdDisplay":{"description":"Informs client applications whether the confirmation request section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["show","hide"],"type":"string"},"deviceGroupIds":{"description":"The `id`s of Device Groups which should, by default, receive notifications based on this template","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIdsCustomizable":{"description":"Whether `deviceGroupIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"deviceGroupIdsDisplay":{"description":"Informs client applications whether the device groups section should be displayed to senders when composing a notification based on this template, defaults to `show` when `deviceGroupIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"distributionListIds":{"description":"A list of `id`s of Distribution Lists which should, by default, receive notifications based on this template","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIdsCustomizable":{"description":"Whether `distributionListIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"distributionListIdsDisplay":{"description":"Informs client applications whether the distribution lists section should be displayed to senders when composing a notification based on this template, defaults to `show` when `distributionListIds` are supplied","enum":["hide","show"],"example":"show","type":"string"},"expiration":{"description":"The time in seconds the notification should expire from the time it is sent (a `null` value indicates the notification does not expire)","example":null,"type":"integer"},"expirationCustomizable":{"description":"Whether `expiration` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"expirationDisplay":{"description":"Informs client applications whether the expiration section should be displayed to senders when composing a notification based on this template, defaults to `show` when expiration is present","enum":["hide","show"],"type":"string"},"followUp":{"description":"Denotes whether this template is usable for a follow-up: if set to `true`, this template can be used as the `messageTemplateId` when sending a new notification based on an existing notification in the notification history. If set to `false`, attempting to use this template in the same manner will result in an error. Message templates that support a follow-up are subject to different validation rules (i.e. all recipient fields can be set non-customizable in addition to specifying no recipients when saving the template)","type":"boolean"},"image":{"description":"Binary stream of the default image to send with the notification. The size of the image must not exceed [10 MiB](https://en.wikipedia.org/wiki/Byte#Multiple-byte_units). In responses, the size in bytes of the attached image, or zero if there is none (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","format":"binary","type":"string"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageCustomizable":{"description":"Whether `image` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"imageDisplay":{"description":"Informs client applications whether the image section should be displayed to senders when composing a notification based on this template, defaults to `show` when image is present","enum":["show","hide"],"type":"string"},"imageMimeType":{"description":"The content type of the default image attached to the message template, if there is one (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/gif","image/jpg"],"type":"string"},"incidentPlanId":{"description":"Specifies the Incident Plan to use for the incident created from this message template, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"incidentPlanIdCustomizable":{"description":"Whether `incidentPlanId`can be customized when the notification is sent (defaults to `false`)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":true,"type":"boolean"},"incidentPlanIdDisplay":{"description":"Informs client applications whether the incident plan section should be displayed to senders when composing a notification based on this template<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["hide","show"],"example":"show","type":"string"},"isShared":{"description":"Denotes whether or not this message template is globally shared","example":true,"type":"boolean"},"messageTemplateCancellationIds":{"description":"A list of `id`s of Message Templates: Notifications sent by these message templates will be canceled by any sends of the current message template","items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"name":{"description":"Name of the message template, up to 140 characters long","example":"Intruder Alert","maximum":140,"type":"string"},"notificationProfileId":{"description":"The `id` of the Notification Profile used to configure the notification; omitting this value will default it to the default Notification Profile","format":"uuid","type":"string"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.<br>_Specifying value ':critical' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","enum":["critical","normal"],"example":"critical","type":"string"},"subject":{"description":"Default subject for notifications based on the message template, up to 255 characters long","example":"An intruder has been spotted!","maximum":255,"type":"string"},"subjectCustomizable":{"description":"Whether the subject can be customized when sending notifications (defaults to `false`)","type":"boolean"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsCustomContentCustomizable":{"description":"Whether ttsCustomContent` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"ttsSpeed":{"description":"The rate at which the text will be spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes are transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"example":"subject-and-body","type":"string"},"ttsVoiceId":{"description":"Specifies the Text-to-Speech Voice to be used when synthesizing audio for this message template","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"ttsVoiceIdCustomizable":{"description":"Whether `ttsVoiceId` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"userIds":{"description":"The ids of individual Users who should, by default, receive notifications based on this template, regardless of their distribution list memberships.","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"userIdsCustomizable":{"description":"Whether `userIds` can be customized when the notification is sent (defaults to `false`)","type":"boolean"},"userIdsDisplay":{"description":"Informs client applications whether the individual user section should be displayed to senders when composing a notification based on this template, defaults to `show` when `userIds` are supplied","enum":["show","hide"],"example":"show","type":"string"}},"required":[],"type":"object"},"message-templates_alarm-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The alarm id","format":"uuid","type":"string"},"resourceName":{"description":"The alarm name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_area-of-interest-boundary-trigger-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"parentResourceId":{"description":"The area of interest id","format":"uuid","type":"string"},"parentResourceName":{"description":"The area of interest name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The boundary trigger id","format":"uuid","type":"string"},"resourceName":{"description":"The boundary trigger name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_callaware-call-redirect-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_callaware-routing-request-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_clone.request":{"properties":{"name":{"description":"Name of the message template, up to 140 characters long","example":"Intruder Alert (Copy)","maximum":140,"type":"string"}},"required":[],"type":"object"},"message-templates_dialcast-dialing-configuration-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the dialing configuration","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the dialing configuration","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The Dialcast Dialing Configuration id","format":"uuid","type":"string"},"resourceName":{"description":"The Dialcast Dialing Configuration name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_icap-rule-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The ICAP Rule id","format":"uuid","type":"string"},"resourceName":{"description":"The ICAP Rule name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_inbound-email-rule-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"parentResourceId":{"description":"The inbound email id","format":"uuid","type":"string"},"parentResourceName":{"description":"The inbound email name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The outbound rule id","format":"uuid","type":"string"},"resourceName":{"description":"The outbound rule name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_inbound-rss-feed-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The inbound RSS feed id","format":"uuid","type":"string"},"resourceName":{"description":"The inbound RSS feed name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_incident-plan-quick-access-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the incident plan","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the incident plan","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The incident plan id","format":"uuid","type":"string"},"resourceName":{"description":"The incident plan name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_night-bell-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endpointId":{"description":"The id of the fusion endpoint containing the dependency","format":"uuid","type":"string"},"endpointName":{"description":"The name of the fusion endpoint containing the dependency","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceName":{"description":"The dependency description","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_ring-list-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the ring list","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the ring list","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The ring list id","format":"uuid","type":"string"},"resourceName":{"description":"The ring list name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_scenario-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the scenario","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the scenario","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The scenario id","format":"uuid","type":"string"},"resourceName":{"description":"The inbound scenario name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_scheduled-notification-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the scheduled notification","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the scheduled notification","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The scheduled notification id","format":"uuid","type":"string"},"resourceName":{"description":"The scheduled notification name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"message-templates_workflow-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the workflow","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the workflow","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The workflow id","format":"uuid","type":"string"},"resourceName":{"description":"The workflow name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"notification-profiles.post-request":{"properties":{"isShared":{"description":"Denotes whether or not this notification profile is globally shared","example":true,"type":"boolean"},"name":{"description":"The notification profile name, may be up to 140 characters long","example":"Default Profile","maximum":140,"type":"string"},"settings":{"$ref":"#/components/schemas/_notification-profiles.settings-bulk-update","description":"An array of notification profile settings objects"}},"required":["name"],"type":"object"},"notification-profiles.put-request":{"properties":{"isShared":{"description":"Denotes whether or not this notification profile is globally shared","example":true,"type":"boolean"},"name":{"description":"The notification profile name, may be up to 140 characters long","example":"Default Profile","maximum":140,"type":"string"},"settings":{"$ref":"#/components/schemas/_notification-profiles.settings-bulk-update","description":"An array of notification profile settings objects"}},"required":[],"type":"object"},"notification-profiles_clone.request":{"properties":{"name":{"description":"The notification profile name, may be up to 140 characters long","example":"Default Profile (Copy)","maximum":140,"type":"string"}},"required":[],"type":"object"},"notification-profiles_settings.request":{"properties":{"attachments":{"description":"Binary attachments (see the [Attachments section of Notification Profiles](https://openapi.icmobile.singlewire.com/#tag--Notification-Profiles) for how these are uploaded)","format":"json","type":"string"},"disabled":{"description":"If `true`, exclude this device type from notifications.","example":false,"type":"boolean"},"ipSpeakerAssets":{"description":"Binary attachments (see the [IP speaker assets section of Notification Profiles](https://openapi.icmobile.singlewire.com/#tag--Notification-Profiles) for how these are uploaded)","format":"json","type":"string"},"value":{"$ref":"#/components/schemas/_notification-profiles.settings-update-value","description":"Actual notification settings for this extension"}},"required":[],"type":"object"},"notifications.post-request":{"properties":{"additionalDeviceRecipients":{"description":"An array of additional devices that should receive this notification.","example":[{"lookupValue":"12345","type":"ip-speaker"}],"items":{"format":"json","type":"string"},"maximum":100,"type":"array","uniqueItems":true},"alertTone":{"description":"The alert tone to use for mobile push notifications","enum":["default","911-dialed","accent","all-clear1","all-clear2","bell","bright","chime","chirp","class-change1","class-change2","class-change3","class-change4","class-change5","class-change6","code-blue","code-call","crystal","evacuate1","evacuate2","evacuate3","evacuate4","fire-alarm","industrial-alarm","internal-emergency1","internal-emergency2","internal-emergency3","klaxon","location-closing","lockdown-1-pulse","lockdown-2-pulses","lockdown-3-pulses","lockdown","room-turn","severe-weather-advisory","shift-change1","shift-change2","shift-change3","shift-change4","silent","take-shelter","tone","tornado-siren"],"type":"string"},"areaOfInterestIds":{"description":"A list of the `id`s of all areas of interest to which this notification was sent","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"audio":{"description":"Binary stream of audio to send with the notification. The audio formats accepted include μ-law, Opus, MP3, Vorbis, or some other common WAV formats. Non μ-law files will be converted to μ-law and the size of the converted audio must not exceed 10 [MiB](http://en.wikipedia.org/wiki/Mebibyte). In responses, the size in bytes of the audio sent with this notification, or zero if there is none (this is now redundant in the response with the `audioFiles` attribute, and will likely be deprecated and removed from the response in a future release)","format":"binary","type":"string"},"body":{"description":"Optional detailed body text for the notification, up to 10,000 characters long","example":"Warning: An intruder has been spotted on campus heading towards the recreation center. Please be advised and stay tuned for further updates. Have you seen the intruder?","maximum":10000,"type":"string"},"collaborationGroupIds":{"description":"A list of the `id`s of all outbound systems to which this notification was sent<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":["18e34a8a-6b10-4000-889c-dd02325e5f01"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"confirmationRequestId":{"description":"The `id` of the confirmation request attached to the notification, if any<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"customVars":{"description":"Key/value pairs which can replace placeholders in the message template when the notification is created. The placeholder syntax in message templates will be of the form `{{varName}}`, where `varName` was one of the keys supplied here, and the corresponding value will be substituted into the notification.","example":{"affectedCounty":"Dane","affectedState":"Wisconsin"},"format":"json","type":"string"},"deviceGroupIds":{"description":"A list of the `id`s of all device groups to which this notification was sent","example":["62f123c8-e0a5-11ee-9d3d-89d4670a1082"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"A list of the `id`s of all distribution lists to which this notification was sent","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"draft":{"description":"If omitted, an actual notification is sent. If supplied with the value `true`, a notification preview is created, showing who would have received it if it were actually sent, but no actual sending will occur. As a query filter can be set to `true` to exclusively list this user's draft notifications.","type":"boolean"},"expiresAt":{"description":"When this notification will (or did) expire, can be `null` for non-expiring notifications","example":null,"format":"date-time","type":"string"},"extensionSettingsOverrides":{"description":"Allows device extensions which were enabled in the notification profile to be disabled at send time: an object whose keys are device extension `id`s, and values are `{\"disabled\": true}`","example":{"0a466b30-7670-11e5-ba6e-765ae9d26291":{"disabled":true}},"format":"json","type":"string"},"followUpForNotificationId":{"description":"The `id` of the source notification for which a follow-up message is being sent (and which will define the recipients; `followUpAllowed` must be `true` for that notification). This value can refer to any eligible notification in the history and must be paired with `followUpForNotificationQuery` for recipient selection. The `messageTemplateId` provided must support follow-up (i.e. its `followUp` value must be true)","format":"uuid","type":"string"},"followUpForNotificationQuery":{"description":"The query used at send time to create the list of recipients based on the `followUpForNotificationId` also supplied; the value uses the same search query syntax used for `q` filters (i.e. `read:true` would extract all recipients that read the original notification); recipients determined from this query are merged with any configured on the message template","example":"read:true","maximum":10000,"type":"string"},"image":{"description":"Binary stream of an image to send with the notification, size must not exceed 10 [MiB](http://en.wikipedia.org/wiki/Mebibyte). In responses, the size in bytes of the image sent with this notification, or zero if there is none (this is now redundant in the response with the `imageFiles` attribute, and will likely be deprecated and removed from the response in a future release)","format":"binary","type":"string"},"imageAltText":{"description":"Optional description of image that may be read by assistive technology","example":"Green checkmark indicating completion","maximum":140,"type":"string"},"imageMimeType":{"description":"The format in which the image data will be delivered, if there is an image associated with this notification (this is now redundant with the `imageFiles` attribute, and will likely be deprecated and removed in a future release)","enum":["image/png","image/jpeg","image/jpg","image/gif"],"type":"string"},"incidentPlanId":{"description":"The `id` of the incident plan, if any, used to create an incident when sending this notification<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"messageTemplateId":{"description":"The `id` of the Message Template that serves as the basis for this notification: provides default values for the notification attributes and controls whether they can be overridden at send time. This field is required to send a notification.","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"metadata":{"description":"Optional values to be attached to the notification, for use by client software","example":null,"format":"json","type":"string"},"notificationSource":{"description":"The source of the notification. This field is populated on notification creation and is the recommended attribute for filtering.","enum":["fusion-delta-sync-error-event","fusion-server-red","area-of-interest-boundary-trigger","alarm","poly-panic-button","supervisor-battery-low","api","kontaktio-wearable-panic-button","badge-battery-low","windows","zoom-health-issue","ios","singlewire-wearable-panic-button","desktop-devices-from-windows","ios_secure","tracking-event-notification","conference-call","server-broadcast-unknown-type","area-of-interest","cucm-panic-button","confirmation-request-escalation-rule","cirrus_admin","integration","zoom-callaware","windows_v2","sis-loader-failed","dial-cast","night-bell","scenario-device-resolution-failed","rostering-push","standard-scenario","singlewire-wearable-panic-button-emergency","webex-calling","cirrus_admin_v2","inbound-rss","administration-console","fusion-server-yellow","m2m","android","gateway-disconnected","speakers-unregistered","ios_secure_v2","inbound-email","mobile-app","android_secure_v2","ca-routing-request","panic-button","android-device-secure","cisco-enterprise","ca-redirect","beacon-disconnected","icmobile-web","cisco-webex","potential-speaker-configuration-issue","token-expiration","unknown-source","license-violation","beacon-battery-low","inbound-cap","scheduled-notification","android_secure","bell-schedule","cisco-webex-bot-eviction","integration-scenario","supervisor-disconnected","scenario-launcher-failure","ios-device-secure","phone-cache-update-failed","singlewire-wearable-panic-button-help-needed","inbound-email-rule"],"example":"administration-console","type":"string"},"priority":{"description":"The priority level of this notification. If the priority level is critical, will send a notification bypassing a device's 'Do not Disturb' settings.","enum":["critical","normal"],"type":"string"},"scenarioNotificationId":{"description":"The associated scenario notification id","format":"uuid","type":"string"},"subject":{"description":"Subject (perhaps a summary version) of the notification, up to 255 characters long","example":"An intruder has been spotted on campus","maximum":255,"minimum":1,"type":"string"},"translations":{"description":"The translated fields for this resource","format":"json","type":"string"},"ttsCustomContent":{"description":"Custom text used for synthesized speech when `ttsType` is `custom-text` or `custom-ssml`","example":null,"maximum":10000,"type":"string"},"ttsSpeed":{"description":"The rate at which the text was spoken (defaults to `normal` if tts is in use)","enum":["very-slow","slow","normal","fast","very-fast"],"example":"normal","type":"string"},"ttsType":{"description":"Controls which attributes were transformed into speech audio, and how","enum":["none","subject","body","subject-and-body","custom-text","custom-ssml"],"type":"string"},"ttsVoiceId":{"description":"Records the Text-to-Speech Voice, if any, used when synthesizing audio for this notification","example":"751de14c-841a-11ea-a32f-2527bd7fe7a8","format":"uuid","type":"string"},"userIds":{"description":"A list of the `id`s of individual users to which this notification was sent, regardless of their distribution list memberships","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"validateTts":{"description":"Controls what validation to perform on the TTS text; the default is `none`","enum":["none","length"],"type":"string"}},"required":[],"type":"object"},"notifications_devices.response":{"properties":{"attributes":{"description":"The attributes of the device","example":null,"format":"json","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceIdentifier":{"description":"Device Identifier","example":"5e59d111870147cec004ad99f00ffd2dd75d61cff13f13aaf3f047ef38430aba","maximum":10000,"type":"string"},"endpoint":{"description":"Endpoint Identifier associated with device, if any","example":null,"properties":{"id":{"description":"The ID of the Fusion Server associated with this configuration","example":null,"format":"uuid","type":"string"},"name":{"description":"The name of the Fusion Server associated with this configuration","example":null,"type":"string"}},"type":"object"},"endpointId":{"description":"Endpoint Identifier associated with device, if any","example":null,"format":"uuid","type":"string"},"id":{"description":"Id of devices","format":"uuid","type":"string"},"name":{"description":"The device’s name","example":"iPhone","maximum":10000,"type":"string"},"notificationId":{"description":"The `id` of the Notification whose devices are being examined","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"provider":{"description":"The name of the provider","example":"Shermer High School","type":"string"},"type":{"description":"The type of the device, such as `singlewire:email`, `singlewire:CiscoIPPhone`, `apns`, `Android`, etc.","example":"apns","maximum":10000,"type":"string"},"user":{"$ref":"#/components/schemas/_notifications_devices.user","deprecated":true,"description":"The User of the notification whose devices are being recorded"},"userId":{"description":"The `id` of the User the device belongs to. `null` indicates it doesn't belong to a user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"notifications_extensions.request":{"properties":{},"required":[],"type":"object"},"notifications_recipients.response":{"properties":{"confirmationResponse":{"description":"Recipient's response to the confirmation request","example":null,"type":"string"},"confirmationResponseTimestamp":{"description":"The time at which the confirmation response was made","example":null,"format":"date-time","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"defunct":{"description":"Indicates whether the recipient no longer exists (only historical information is available)","example":false,"type":"boolean"},"devicesSummary":{"description":"Summary of recipient devices that received the notification (up to 20)","format":"json","type":"string"},"dynamicReply":{"description":"The dynamic reply text user received","example":null,"type":"string"},"email":{"description":"Recipient User's email address","example":"johndoe@email.com","type":"string"},"endpoint":{"description":"Endpoint information associated with recipient, if any","example":null,"properties":{"id":{"description":"The ID of the Fusion Server associated with this configuration","example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa","format":"uuid","type":"string"},"name":{"description":"The name of the Fusion Server associated with this configuration","example":"Fusion 2","type":"string"}},"type":"object"},"endpointId":{"description":"Endpoint Identifier associated with recipient, if any","example":"817b3e8b-6fba-11eb-b0f8-0bc70adb4bfa","format":"uuid","type":"string"},"id":{"description":"Recipient User's id","format":"uuid","type":"string"},"name":{"description":"Recipient User's name","example":"John Doe","type":"string"},"notificationId":{"description":"The id of the Notification","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"onPremDeviceIdentifier":{"description":"The id of the on premise device","example":null,"format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"read":{"description":"Whether the notification has been read by this recipient","example":false,"type":"boolean"},"type":{"description":"Type of the recipient user","example":"regular","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"placeholder-devices.post-request":{"properties":{"buildingId":{"description":"The ID of the Building the Placeholder Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"floorId":{"description":"The ID of the Floor the Placeholder Device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The name of the Placeholder Device","example":"North Lobby Beacon","maximum":140,"type":"string"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"A GeoJSON Point representing the location to which the Placeholder Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Placeholder Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly."},"siteId":{"description":"The ID of the Site the Placeholder Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"type":{"description":"The type of placeholder device","enum":["BEACON","SUPERVISOR","GATEWAY"],"type":"string"},"zoneId":{"description":"The ID of the Zone the Placeholder Device is assigned to. If omitted, the server computes it from the zone whose boundary contains the pinned-location. If provided, must match that computed zone or validation fails.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["type","siteId","buildingId","floorId","pinnedLocation"],"type":"object"},"placeholder-devices.put-request":{"properties":{"buildingId":{"description":"The ID of the Building the Placeholder Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"floorId":{"description":"The ID of the Floor the Placeholder Device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"name":{"description":"The name of the Placeholder Device","example":"North Lobby Beacon","maximum":140,"type":"string"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"A GeoJSON Point representing the location to which the Placeholder Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Placeholder Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly."},"siteId":{"description":"The ID of the Site the Placeholder Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the Placeholder Device is assigned to. If omitted, the server computes it from the zone whose boundary contains the pinned-location. If provided, must match that computed zone or validation fails.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":[],"type":"object"},"placeholder-devices.response":{"properties":{"building":{"$ref":"#/components/schemas/_placeholder-devices.building","description":"Contains the name and ID of the building to which this Placeholder Device belongs"},"buildingId":{"description":"The ID of the Building the Placeholder Device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"The date and time the Placeholder Device was created","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this Placeholder Device belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_placeholder-devices.floor","description":"Contains the name and ID of the floor to which this Placeholder Device belongs"},"floorId":{"description":"The ID of the Floor the Placeholder Device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the Placeholder Device","format":"uuid","type":"string"},"name":{"description":"The name of the Placeholder Device","example":"North Lobby Beacon","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"A GeoJSON Point representing the location to which the Placeholder Device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Placeholder Devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly."},"site":{"$ref":"#/components/schemas/_placeholder-devices.site","description":"Contains the name and ID of the site to which this Placeholder Device belongs"},"siteId":{"description":"The ID of the Site the Placeholder Device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"type":{"description":"The type of placeholder device","enum":["BEACON","SUPERVISOR","GATEWAY"],"type":"string"},"updatedAt":{"description":"The date and time the Placeholder Device was last updated","format":"date-time","type":"string"},"zone":{"$ref":"#/components/schemas/_placeholder-devices.zone","description":"Contains the name, ID, and outdoor flag of the zone to which this Placeholder Device belongs"},"zoneId":{"description":"The ID of the Zone the Placeholder Device is assigned to. If omitted, the server computes it from the zone whose boundary contains the pinned-location. If provided, must match that computed zone or validation fails.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"placeholder-devices_promote.post-request":{"properties":{"deviceId":{"description":"The ID of the target beacon, supervisor, or gateway to promote this placeholder into","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"Optional GeoJSON Point to override the placeholder's stored pinned location. If omitted, the placeholder's stored location is used."}},"required":["deviceId"],"type":"object"},"placeholder-devices_promote.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceId":{"description":"The ID of the target beacon, supervisor, or gateway to promote this placeholder into","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"$ref":"#/components/schemas/_api-devices.pinned-location","description":"Optional GeoJSON Point to override the placeholder's stored pinned location. If omitted, the placeholder's stored location is used."},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"policies.post-request":{"properties":{"isShared":{"description":"Denotes whether or not this policy is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the Policy","example":"Notification Sender","maximum":140,"type":"string"},"permissionsSets":{"description":"The list of UUIDs associated with permissions sets assigned to the policy","example":["fa1c0721-6bc1-11ef-a246-c706490e0002"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["name"],"type":"object"},"policies.put-request":{"properties":{"isShared":{"description":"Denotes whether or not this policy is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the Policy","example":"Notification Sender","maximum":140,"type":"string"},"permissionsSets":{"description":"The list of UUIDs associated with permissions sets assigned to the policy","example":["fa1c0721-6bc1-11ef-a246-c706490e0002"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"policies.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this policy belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"ID of the Policy","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this policy is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the Policy","example":"Notification Sender","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"permissionsSets":{"description":"The list of UUIDs associated with permissions sets assigned to the policy","example":["fa1c0721-6bc1-11ef-a246-c706490e0002"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"reports.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"Explains the nature of the report","example":"Provides general counts such as subscription sizes and usage","type":"string"},"id":{"description":"The ID by which the report can be requested","example":"30a05e90-9156-11e6-b405-11f7f6be9a24","format":"uuid","type":"string"},"name":{"description":"The name of the report","example":"GeneralCounts","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"}},"required":["permissions","createdAt","id"],"type":"object"},"ring-lists.post-request":{"properties":{"description":{"description":"An optional description for the ring list","example":"Schedule for Monday, Wednesday, and Friday","maximum":255,"type":"string"},"entries":{"description":"Ring List Entries","items":{"$ref":"#/components/schemas/_ring-lists.entries"},"maxItems":128,"type":"array"},"isShared":{"description":"Denotes whether or not this ring list is globally shared","example":true,"type":"boolean"},"name":{"description":"A unique name for the ring list","example":"Half Day","maximum":255,"type":"string"}},"required":["name"],"type":"object"},"ring-lists.put-request":{"properties":{"description":{"description":"An optional description for the ring list","example":"Schedule for Monday, Wednesday, and Friday","maximum":255,"type":"string"},"entries":{"description":"Ring List Entries","items":{"$ref":"#/components/schemas/_ring-lists.entries"},"maxItems":128,"type":"array"},"isShared":{"description":"Denotes whether or not this ring list is globally shared","example":true,"type":"boolean"},"name":{"description":"A unique name for the ring list","example":"Half Day","maximum":255,"type":"string"}},"required":[],"type":"object"},"ring-lists_bell-schedule-dependents.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The id of the facility associated with the bell schedule","format":"uuid","type":"string"},"facilityName":{"description":"The name of the facility associated with the bell schedule","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"resourceId":{"description":"The bell schedule id","format":"uuid","type":"string"},"resourceName":{"description":"The bell schedule name","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"ring-lists_clone.request":{"properties":{"name":{"description":"A unique name for the ring list. Defaults to the source ring list's name with a \" (Copy)\" suffix.","example":"Half Day (Copy)","maximum":255,"type":"string"}},"required":[],"type":"object"},"rule-actions.response":{"properties":{"action":{"$ref":"#/components/schemas/_rule-actions.action","description":"The JSON object that describes the action to be taken when a rule matches an event, currently this can only be a webhook"},"actionResources":{"$ref":"#/components/schemas/_rule-actions.action-resources","description":"The known resources the action is linked to"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"The description of the rule action","example":"A rule action for testing.","type":"string"},"id":{"description":"ID of the rule action","example":"7fe46a86-e254-11ee-8562-11690a18fc06","format":"uuid","type":"string"},"name":{"description":"The name of the rule action","example":"For-Testing","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rule":{"description":"The JSON object that describes which events to match on using the AWS Event Ruler","example":{"event":{"scenarioNotification":{"scenarioId":["13242a86-7288-11ee-9ca9-cd3db9d6b864"]}},"sourceType":["scenario-notification"]},"format":"json","type":"string"},"ruleResources":{"$ref":"#/components/schemas/_rule-actions.rule-resources","description":"The known resources the rule is linked to"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"scenario-notifications.post-request":{"properties":{"callbackNumber":{"description":"An optional callback number that mobile panic buttons will supply for our emergency service provider","example":null,"maximum":10000,"type":"string"},"event":{"description":"For integration scenarios, the raw event from the microservice","example":null,"format":"json","type":"string"},"fields":{"description":"Provides the answers to the scenario's fields. More information can be found [here](#tag--Scenario-Notifications)","items":{"$ref":"#/components/schemas/_scenario-notifications.fields"},"type":"array"},"initiationDevice":{"description":"Details about the device that initiated the scenario. This value is stored in the metadata field of the `initiationDevice` in the response","example":"{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}","properties":{"lookupValue":{"description":"The value used to identify this device in InformaCast. For API Devices, this is the External ID. For IP Speakers, it's the MAC Address.","example":"vape-123","type":"string"},"type":{"description":"The type of the device, either api-device or ip-speaker","example":"api-device","type":"string"}},"type":"object"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"For site-enabled scenarios, and integration scenarios with dynamic sites, the site, building, floor, and zone info"},"locationResolutionStrategy":{"description":"Sets how the final reported location of the scenario and site roles are determined. Items are checked in the order present and only items present are considered. Defaults to [\"location\", \"device\"].","example":["device","location"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messages":{"description":"The array of messages associated with a scenario. More information can be found [here](#tag--Scenario-Notifications)","example":null,"items":{"$ref":"#/components/schemas/_scenario-notifications.messages"},"type":"array"},"scenarioId":{"description":"ID of the Scenario","example":"13242a86-7288-11ee-9ca9-cd3db9d6b864","format":"uuid","type":"string"}},"required":["scenarioId"],"type":"object"},"scenarios.post-request":{"properties":{"backgroundColor":{"description":"The scenario’s background color. Should be a hexadecimal color value lead with a #.","example":"#33AA55","maximum":10000,"type":"string"},"confirmationPin":{"description":"Numeric pin user must enter to initiate scenario when `confirmationType` is `pin`.","example":null,"maximum":10000,"type":"string"},"confirmationType":{"description":"Informs the user interface how and if to require confirmation before initiating the scenario","enum":["none","pin","prompt"],"type":"string"},"customConfirm":{"description":"Custom Hotkey sent confirmation message","example":null,"maximum":10000,"type":"string"},"defaultBuildingId":{"description":"For location-enabled scenarios, the building to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultFloorId":{"description":"For location-enabled scenarios, the floor to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultSiteId":{"description":"For location-enabled scenarios, the site to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultZoneId":{"description":"For location-enabled scenarios, the zone to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"deleteRuleActions":{"description":"When true, will delete all scenario rule actions","type":"boolean"},"description":{"description":"An optional description for the scenario.","example":"A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.","maximum":140,"type":"string"},"emergency":{"description":"Indicates that emergency services should be contacted when this scenario is sent (The emergency calling feature must be enabled for your organization before you can send a `true` value here)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"eventType":{"description":"The type of scenario triggered events","enum":["none","zoom-emergency-call","red-button-click","blue-button-click","emergency","help-needed"],"type":"string"},"fields":{"description":"The list of questions attached to a standard scenario, more information can be found [here](#tag--Scenarios)","items":{"$ref":"#/components/schemas/_scenarios.fields"},"type":"array"},"icon":{"description":"The icon to be displayed on the scenario’s triggering button. NOTE: Some icons are only supported on mobile app versions above 4.34.","enum":["close-circle","hurricane","hospital","fire","id-badge","volcano","helmet","icicles","biohazard","block","alert-diamond","account-circle","leashed-dog","car","road-barrier","rock-slide","alert-circle","traffic","gun","ilug-evacuate","wheelchair","check","person-suspicious","eye","cloud","flag","navigation","security-camera","shield-security","sensor-on","flash","person-danger","shelter","radiation","briefcase","wind","emergency-light","ilug-secure","ship","bullhorn","local-airport","wifi-lock","thunderstorm","ilug-hold","snowflake","tornado","medical-vehicle","bell","sun","universal-access","info","avalanche","invert-colors","ilug-lockdown","smoke","unlock","truck","virus","heavy-rain","traffic-cone","ilug-shelter","wave","flare","police","flood","unverified","verified","gps-dot","lock","phone-prohibited","building-lockdown"],"example":"flash","type":"string"},"incidentPlanId":{"description":"The `id` of the incident plan that this scenario triggers<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"instructions":{"$ref":"#/components/schemas/_scenarios.instructions","description":"The list of user instructions to give the user direction on what to do after pressing the mobile panic button"},"isShared":{"description":"Denotes whether or not this scenario is globally shared","example":true,"type":"boolean"},"locationEnabled":{"description":"Does this scenario support the submission of a Location object when creating or simulating Scenario Notifications?","example":false,"type":"boolean"},"locationQuestionName":{"description":"The text to use when prompting a user to specify a location when sending a location-enabled scenario","example":null,"maximum":10000,"type":"string"},"messages":{"description":"The list of messages attached to a scenario. More information about scenario messages can be found [here](#tag--Scenarios)","items":{"$ref":"#/components/schemas/_scenarios.messages"},"type":"array"},"name":{"description":"The scenario’s unique name","example":"Chemical Spill","maximum":70,"type":"string"},"phoneNumber":{"description":"The phone number the user can call after pressing the mobile panic button","example":null,"maximum":10000,"type":"string"},"silentHotkey":{"description":"Is the Hotkey event Silent","type":"boolean"},"source":{"description":"The source of the scenario<br>_Specifying value 'kontaktio-wearable-panic-button' requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","enum":["custom","cisco-enterprise","poly-ucs","webex-calling","zoom","kontaktio-wearable-panic-button"],"type":"string"},"type":{"description":"The type of the scenario, either `standard`, `panic-button`, or `integration`<br>_Specifying value 'standard' requires 'Reach'._<br>_Specifying value 'panic-button' requires 'Respond'._<br>_Specifying value 'integration' requires 'Reach'._<br>_Specifying value 'singlewire-wearable-panic-button' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","example":"standard","maximum":10000,"type":"string"},"winHotkeys":{"description":"Windows Hotkey combination","example":null,"maximum":10000,"type":"string"}},"required":["name","backgroundColor","messages","type"],"type":"object"},"scenarios.put-request":{"properties":{"backgroundColor":{"description":"The scenario’s background color. Should be a hexadecimal color value lead with a #.","example":"#33AA55","maximum":10000,"type":"string"},"confirmationPin":{"description":"Numeric pin user must enter to initiate scenario when `confirmationType` is `pin`.","example":null,"maximum":10000,"type":"string"},"confirmationType":{"description":"Informs the user interface how and if to require confirmation before initiating the scenario","enum":["none","pin","prompt"],"type":"string"},"customConfirm":{"description":"Custom Hotkey sent confirmation message","example":null,"maximum":10000,"type":"string"},"defaultBuildingId":{"description":"For location-enabled scenarios, the building to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultFloorId":{"description":"For location-enabled scenarios, the floor to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultSiteId":{"description":"For location-enabled scenarios, the site to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"defaultZoneId":{"description":"For location-enabled scenarios, the zone to use when sending the scenario in a way which does not allow the user to be prompted for a location","example":null,"format":"uuid","type":"string"},"deleteRuleActions":{"description":"When true, will delete all scenario rule actions","type":"boolean"},"description":{"description":"An optional description for the scenario.","example":"A notification informing employees about a chemical spill, providing urgent instructions on evacuation, safety measures, and updates.","maximum":140,"type":"string"},"emergency":{"description":"Indicates that emergency services should be contacted when this scenario is sent (The emergency calling feature must be enabled for your organization before you can send a `true` value here)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"eventType":{"description":"The type of scenario triggered events","enum":["none","zoom-emergency-call","red-button-click","blue-button-click","emergency","help-needed"],"type":"string"},"fields":{"description":"The list of questions attached to a standard scenario, more information can be found [here](#tag--Scenarios)","items":{"$ref":"#/components/schemas/_scenarios.fields"},"type":"array"},"icon":{"description":"The icon to be displayed on the scenario’s triggering button. NOTE: Some icons are only supported on mobile app versions above 4.34.","enum":["close-circle","hurricane","hospital","fire","id-badge","volcano","helmet","icicles","biohazard","block","alert-diamond","account-circle","leashed-dog","car","road-barrier","rock-slide","alert-circle","traffic","gun","ilug-evacuate","wheelchair","check","person-suspicious","eye","cloud","flag","navigation","security-camera","shield-security","sensor-on","flash","person-danger","shelter","radiation","briefcase","wind","emergency-light","ilug-secure","ship","bullhorn","local-airport","wifi-lock","thunderstorm","ilug-hold","snowflake","tornado","medical-vehicle","bell","sun","universal-access","info","avalanche","invert-colors","ilug-lockdown","smoke","unlock","truck","virus","heavy-rain","traffic-cone","ilug-shelter","wave","flare","police","flood","unverified","verified","gps-dot","lock","phone-prohibited","building-lockdown"],"example":"flash","type":"string"},"incidentPlanId":{"description":"The `id` of the incident plan that this scenario triggers<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"instructions":{"$ref":"#/components/schemas/_scenarios.instructions","description":"The list of user instructions to give the user direction on what to do after pressing the mobile panic button"},"isShared":{"description":"Denotes whether or not this scenario is globally shared","example":true,"type":"boolean"},"locationEnabled":{"description":"Does this scenario support the submission of a Location object when creating or simulating Scenario Notifications?","example":false,"type":"boolean"},"locationQuestionName":{"description":"The text to use when prompting a user to specify a location when sending a location-enabled scenario","example":null,"maximum":10000,"type":"string"},"messages":{"description":"The list of messages attached to a scenario. More information about scenario messages can be found [here](#tag--Scenarios)","items":{"$ref":"#/components/schemas/_scenarios.messages"},"type":"array"},"name":{"description":"The scenario’s unique name","example":"Chemical Spill","maximum":70,"type":"string"},"phoneNumber":{"description":"The phone number the user can call after pressing the mobile panic button","example":null,"maximum":10000,"type":"string"},"silentHotkey":{"description":"Is the Hotkey event Silent","type":"boolean"},"winHotkeys":{"description":"Windows Hotkey combination","example":null,"maximum":10000,"type":"string"}},"required":[],"type":"object"},"scenarios_clone.request":{"properties":{"name":{"description":"The scenario’s unique name","example":"Chemical Spill (Copy)","maximum":70,"type":"string"}},"required":[],"type":"object"},"scenarios_rule-actions.post-request":{"properties":{"action":{"$ref":"#/components/schemas/_rule-actions.action","description":"The JSON object that describes the action to be taken when a rule matches an event, currently this can only be a webhook"},"description":{"description":"The description of the rule action","example":"A rule action for testing.","maximum":10000,"type":"string"},"name":{"description":"The name of the rule action","example":"For-Testing","maximum":10000,"type":"string"}},"required":["action"],"type":"object"},"scenarios_rule-actions.put-request":{"properties":{"action":{"$ref":"#/components/schemas/_rule-actions.action","description":"The JSON object that describes the action to be taken when a rule matches an event, currently this can only be a webhook"},"description":{"description":"The description of the rule action","example":"A rule action for testing.","maximum":10000,"type":"string"},"name":{"description":"The name of the rule action","example":"For-Testing","maximum":10000,"type":"string"}},"required":[],"type":"object"},"scenarios_rule-actions.response":{"properties":{"action":{"$ref":"#/components/schemas/_rule-actions.action","description":"The JSON object that describes the action to be taken when a rule matches an event, currently this can only be a webhook"},"actionResources":{"$ref":"#/components/schemas/_rule-actions.action-resources","description":"The known resources the action is linked to"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"The description of the rule action","example":"A rule action for testing.","maximum":10000,"type":"string"},"id":{"description":"The ID of the rule action","example":"7fe46a86-e254-11ee-8562-11690a18fc06","format":"uuid","type":"string"},"name":{"description":"The name of the rule action","example":"For-Testing","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rule":{"description":"The JSON object that describes which events to match on using the AWS Event Ruler","example":{"event":{"scenarioNotification":{"scenarioId":["13242a86-7288-11ee-9ca9-cd3db9d6b864"]}},"sourceType":["scenario-notification"]},"format":"json","type":"string"},"ruleResources":{"$ref":"#/components/schemas/_rule-actions.rule-resources","description":"The known resources the rule is linked to"},"scenarioId":{"description":"The ID of the associated scenario","example":"13242a86-7288-11ee-9ca9-cd3db9d6b864","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"scheduled-notifications.post-request":{"properties":{"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"deviceGroupIds":{"description":"The device groups to use when sending the notification (if template permits)","example":["b1394e9e-becd-11ee-9ee1-85f73ec2ad1d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"disabled":{"description":"Whether the scheduler will process this schedule","example":false,"type":"boolean"},"distributionListIds":{"description":"The distribution lists to use when sending the notification (if template permits)","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The ID of the message template to use when this schedule is fired","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"Scheduled notification name","example":"Monthly tornado test","maximum":50,"type":"string"},"nextFireTime":{"description":"The next time the scheduled notification is scheduled to send","example":"2036-04-09T13:30:00.000Z","format":"date-time","type":"string"},"schedule":{"description":"A cron expression representing the notification schedule","example":"0 0/1 * 1/1 * ? *","maximum":256,"type":"string"},"timeZone":{"description":"The time zone of the cron expression","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"},"updatedAt":{"description":"The last time the resource was updated","format":"date-time","type":"string"}},"required":["name","schedule","timeZone","messageTemplateId"],"type":"object"},"scheduled-notifications.put-request":{"properties":{"deviceGroupIds":{"description":"The device groups to use when sending the notification (if template permits)","example":["b1394e9e-becd-11ee-9ee1-85f73ec2ad1d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"disabled":{"description":"Whether the scheduler will process this schedule","example":false,"type":"boolean"},"distributionListIds":{"description":"The distribution lists to use when sending the notification (if template permits)","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"messageTemplateId":{"description":"The ID of the message template to use when this schedule is fired","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"Scheduled notification name","example":"Monthly tornado test","maximum":50,"type":"string"},"schedule":{"description":"A cron expression representing the notification schedule","example":"0 0/1 * 1/1 * ? *","maximum":256,"type":"string"},"timeZone":{"description":"The time zone of the cron expression","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"}},"required":[],"type":"object"},"scheduled-notifications.response":{"properties":{"createdAt":{"description":"The time the resource was created","format":"date-time","type":"string"},"deviceGroupIds":{"description":"The device groups to use when sending the notification (if template permits)","example":["b1394e9e-becd-11ee-9ee1-85f73ec2ad1d"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroups":{"description":"The device groups associated with this scheduled notification","items":{"$ref":"#/components/schemas/_scheduled-notifications.device-groups"},"type":"array"},"disabled":{"description":"Whether the scheduler will process this schedule","example":false,"type":"boolean"},"distributionListIds":{"description":"The distribution lists to use when sending the notification (if template permits)","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"facilityId":{"description":"The ID of the facility this scheduled notification belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"The ID of the scheduled notification","format":"uuid","type":"string"},"messageTemplate":{"$ref":"#/components/schemas/_scheduled-notifications.message-template","description":"The message template associated with this scheduled notification"},"messageTemplateId":{"description":"The ID of the message template to use when this schedule is fired","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"Scheduled notification name","example":"Monthly tornado test","maximum":50,"type":"string"},"nextFireTime":{"description":"The next time the scheduled notification is scheduled to send","example":"2036-04-09T13:30:00.000Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"schedule":{"description":"A cron expression representing the notification schedule","example":"0 0/1 * 1/1 * ? *","maximum":256,"type":"string"},"syncId":{"description":"The ID of this record in the Fusion database, used for optimizing sync performance","example":"1d216f8a-6fbb-11eb-b0f8-933bf79c7bab:1613413676919","type":"string"},"timeZone":{"description":"The time zone of the cron expression","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","GB","GB-Eire","GMT","GMT0","Greenwich","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROK","Singapore","SystemV/AST4","SystemV/AST4ADT","SystemV/CST6","SystemV/CST6CDT","SystemV/EST5","SystemV/EST5EDT","SystemV/HST10","SystemV/MST7","SystemV/MST7MDT","SystemV/PST8","SystemV/PST8PDT","SystemV/YST9","SystemV/YST9YDT","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","PNT","EST","EAT","ECT","PRT","CTT","SST","MST","AST","NST","HST","ACT","BST","AET","IST","CST","NET","AGT","CAT","MIT","BET","PST","ART","JST","VST","IET","CNT","PLT"],"example":"America/Chicago","type":"string"},"updatedAt":{"description":"The last time the resource was updated","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"scheduled-notifications_clone.request":{"properties":{"name":{"description":"Scheduled notification name","example":"Monthly tornado test (Copy)","maximum":50,"type":"string"}},"required":[],"type":"object"},"security-groups.post-request":{"properties":{"name":{"description":"A unique name for the Security Group.","example":"Body Guards","maximum":140,"minimum":1,"type":"string"},"policyId":{"description":"policy id for the security group","format":"uuid","type":"string"},"superGroup":{"description":"Whether this group should have all possible permissions","example":false,"type":"boolean"}},"required":["name"],"type":"object"},"security-groups.put-request":{"properties":{"name":{"description":"A unique name for the Security Group.","example":"Body Guards","maximum":140,"minimum":1,"type":"string"},"policyId":{"description":"policy id for the security group","format":"uuid","type":"string"},"superGroup":{"description":"Whether this group should have all possible permissions","example":false,"type":"boolean"}},"required":[],"type":"object"},"security-groups.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this security group belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"Security Group ID","example":"92ba968d-a055-11ee-8ca7-759f162a262e","format":"uuid","type":"string"},"name":{"description":"A unique name for the Security Group.","example":"Body Guards","maximum":140,"minimum":1,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"policyId":{"description":"policy id for the security group","format":"uuid","type":"string"},"superGroup":{"description":"Whether this group should have all possible permissions","example":false,"type":"boolean"}},"required":["permissions","createdAt","id"],"type":"object"},"security-groups_allowed-message-templates.post-request":{"properties":{"id":{"description":"ID for Message Templates the Security Group allows access to.","example":["28a92caf-3d37-11e6-834a-431f5104df9d"],"format":"uuid","type":"string"}},"required":["id"],"type":"object"},"security-groups_allowed-message-templates.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID for Message Templates the Security Group allows access to.","example":["28a92caf-3d37-11e6-834a-431f5104df9d"],"format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"security-groups_allowed-scenarios.post-request":{"properties":{"id":{"description":"ID for Scenarios the Security Group allows access to.","example":["28a92caf-3d37-11e6-834a-431f5104df9d"],"format":"uuid","type":"string"}},"required":["id"],"type":"object"},"security-groups_allowed-scenarios.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID for Scenarios the Security Group allows access to.","example":["28a92caf-3d37-11e6-834a-431f5104df9d"],"format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"security-groups_clone-to-facilities.request":{"properties":{"facilityIds":{"description":"List of facility ids this security group should be cloned to","example":["e4e7860d-fb72-11e5-93a8-7b0393df5405"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"security-groups_clone.request":{"properties":{"name":{"description":"A unique name for the Security Group.","example":"Body Guards (Copy)","maximum":140,"type":"string"}},"required":[],"type":"object"},"security-groups_members.post-request":{"properties":{"userId":{"description":"The id of the member user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["userId"],"type":"object"},"security-groups_permissions.post-request":{"properties":{"spec":{"description":"Identifies the path to the resource(s) the group is being permitted to act on.","example":"/notifications/*","maximum":1000,"type":"string"},"verb":{"description":"The action (HTTP method) which is to be permitted.","enum":["get","put","post","delete","patch"],"example":"post","type":"string"}},"required":["verb","spec"],"type":"object"},"security-groups_permissions.put-request":{"properties":{"spec":{"description":"Identifies the path to the resource(s) the group is being permitted to act on.","example":"/notifications/*","maximum":1000,"type":"string"},"verb":{"description":"The action (HTTP method) which is to be permitted.","enum":["get","put","post","delete","patch"],"example":"post","type":"string"}},"required":[],"type":"object"},"security-groups_permissions.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID of the permission","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityGroupId":{"description":"Id of the security group","format":"uuid","type":"string"},"spec":{"description":"Identifies the path to the resource(s) the group is being permitted to act on.","example":"/notifications/*","maximum":1000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"verb":{"description":"The action (HTTP method) which is to be permitted.","enum":["get","put","post","delete","patch"],"example":"post","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"security-groups_scim-groups.post-request":{"properties":{"scimGroupId":{"description":"Id of member scim group","format":"uuid","type":"string"},"securityGroupId":{"description":"Id of the security group","format":"uuid","type":"string"}},"required":["scimGroupId"],"type":"object"},"security-groups_scim-groups.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"Id of member scim group","format":"uuid","type":"string"},"name":{"description":"The name of the SCIM Group","example":"Group Name","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"settings.put-request":{"properties":{"preferredLanguage":{"description":"The preferred notification language","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"preferredLocale":{"description":"The preferred locale","enum":["ia-Latn-001","ar-Arab-EG","vai-LR","en-MS","sd-IN","ksh","fr-CF","wae","pt-LU","tzm-MA","fr","en-JE","en-IO","ti","bo-Tibt-CN","haw-US","to-Latn-TO","nb-Latn-NO","so-ET","fr-WF","xog","kok-Deva","ne-Deva-NP","ckb-IQ","vun","yrl-BR","kgp-Latn-BR","nl-CW","lo-LA","ha","en-TK","sq-AL","jgo-CM","kkj-CM","xnr-IN","rwk-Latn-TZ","mt-Latn-MT","ckb","en-VG","so-DJ","ann-Latn-NG","qu-EC","nds-DE","shi-Latn-MA","ff-Adlm-CM","en-DM","en-PH","gu","cgg-UG","jmc-TZ","wo","kln","ja-JP","ar-KW","zgh","yav-CM","hsb","hi-IN","nl-NL","syr-IQ","dje-NE","ja","ru-KZ","gaa-Latn-GH","de-DE","agq","blo-BJ","jv","pis-Latn-SB","brx","mua-CM","twq","ff-Latn-GN","hsb-DE","en-PG","kok-Latn","se-FI","bg-Cyrl-BG","sr-Latn-RS","en-GB","fr-BF","my-Mymr-MM","az","sd-PK","es-CU","ka","pt-ST","frr-DE","bas","el","zh-MO","fo","ff-Latn-NE","en-DE","rw","mua","en-PL","pt-MZ","es-EC","vmw","pt-CV","ff-Adlm-GN","sah-RU","kab-DZ","de-LI","cy-GB","frr","ha-Latn-NG","ff-Latn-GH","ce-Cyrl-RU","uz-Cyrl-UZ","bm-Latn-ML","hr","dua","nmg-CM","es","uz-AF","kde-TZ","az-Latn-AZ","dje-Latn-NE","en-VU","en-TT","yrl","en-AE","ca-IT","ca-Latn-ES","es-NI","en-SD","ksh-Latn-DE","pt","ku-Latn-TR","tok-001","ses","en-WS","ar-ER","gv","lg-Latn-UG","ml-Mlym-IN","kk-KZ","ff-Adlm-LR","syr-Syrc-IQ","nn-NO","ky-KG","mzn","nso-Latn-ZA","eo-001","khq-ML","shi-Latn","ar-SD","bez","en-RW","rn","en-BM","en-VI","fo-FO","fr-NE","ce","ce-RU","lg","ebu-KE","sv-AX","tok-Latn-001","de-CH","lu","luy-Latn-KE","ccp-BD","de-AT","ses-Latn-ML","uz-Arab-AF","fi","ii","nmg-Latn-CM","ps-AF","kok-Deva-IN","om-ET","mg-MG","ga","nd","vec-Latn-IT","rw-Latn-RW","bn-BD","bgc-Deva-IN","xh-ZA","es-EA","nds-NL","dz-Tibt-BT","sg-CF","vec","ln-CD","nmg","en-SX","kde","ko-KP","kam-KE","az-AZ","sbp-Latn-TZ","fr-KM","gaa","ff-Latn-LR","gl-ES","ja-JP-u-ca-japanese-x-lvariant-JP","blo","mas-TZ","ff","en-PT","asa-Latn-TZ","syr-SY","dsb-DE","rm-Latn-CH","gv-Latn-IM","kab-Latn-DZ","gsw-FR","mfe-MU","qu-PE","ta-MY","uz-Latn-UZ","ps-PK","vi-VN","kkj-Latn-CM","hsb-Latn-DE","ku-TR","dav-KE","ta-SG","pis","ar-JO","en-NR","kl-Latn-GL","oc-Latn-FR","kxv-Telu","is","en-BE","agq-Latn-CM","eu-Latn-ES","en-MG","be","en-AI","ca-FR","shi-Tfng-MA","kn-Knda-IN","ks","es-SV","mfe","ug","rwk-TZ","ar-OM","ann","hu-HU","sr-Cyrl-RS","pt-PT","zh-Hans-CN","sms-FI","sr-Latn-BA","zh-Latn-CN","tr-TR","ksb-TZ","ast-Latn-ES","pcm-Latn-NG","ti-ER","tr-Latn-TR","cv","br-Latn-FR","gsw-LI","tg-TJ","so-KE","ln-CG","ksh-DE","ccp-IN","yue-Hant-HK","en-Latn-US","kl-GL","hr-BA","mgh-MZ","en-UG","kea-CV","nus-Latn-SS","cy-Latn-GB","lij","fr-RW","frr-Latn-DE","da-DK","ses-ML","yo-NG","ko-CN","sl-Latn-SI","yi-UA","ga-Latn-IE","lg-UG","en-US-POSIX","en-MU","pl-PL","fr-BE","zh-Hant","es-BO","kl","ebu","en-CK","en-IE","khq","ms-ID","teo","fr-TD","es-ES","kw-GB","guz-Latn-KE","ii-Yiii-CN","jmc-Latn-TZ","ln","ne-NP","bho-Deva-IN","ta-Taml-IN","or-IN","en-AU","sk-SK","bs-Latn","nn-Latn-NO","luo","bo-IN","ca","en-CY","en-GU","sv-SE","luy","ms-Latn-MY","as","sat-IN","ro","fr-MR","lkt","en-UM","zh-Hans","ug-CN","mgh","en-GH","saq-KE","en-NZ","ewo-Latn-CM","sl","az-Latn","ksb","jgo","en-SS","jv-Latn-ID","vun-Latn-TZ","pt-AO","zh-CN","or","sah","ur-Arab-PK","nn","mgo","ki-Latn-KE","zh-Latn","fr-CA","th","nb-SJ","oc-FR","es-PH","kxv","mn-Cyrl-MN","mzn-IR","teo-Latn-UG","lij-Latn-IT","yue","raj-IN","ln-Latn-CD","xh","tr","ur","ks-Deva-IN","dua-CM","rn-BI","et","en-ZA","ff-Adlm-BF","hr-HR","os-RU","cs","mua-Latn-CM","ig-Latn-NG","kxv-Latn-IN","hu","en-FI","fr-Latn-FR","nl-AW","rof","en-BW","ca-ES","sg","en-NG","th-TH","en-SI","kkj","lu-Latn-CD","kea","ff-Adlm-GH","ro-MD","fr-PM","yue-Hant","mr","uz-UZ","uz","ku","ar-LB","st-Latn-ZA","ee-Latn-GH","ewo","jv-ID","sat-Olck","ht-Latn-HT","mas","pt-BR","sq-XK","fr-ML","ln-AO","uz-Arab","be-BY","sat","da-GL","en-ZW","nl-BE","de-Latn-DE","ka-Geor-GE","uz-Latn","as-IN","nb-NO","af-Latn-ZA","ar-AE","ceb-PH","es-CR","bs-Cyrl","mn-MN","en-PR","ast","lij-IT","pt-GW","fur-IT","sd-Arab-PK","mni","twq-Latn-NE","en-AG","tn","nyn-UG","en-TV","el-CY","sq-Latn-AL","szl-Latn-PL","naq-Latn-NA","zgh-MA","en-GI","kk","sd-Deva","ko","sw-UG","und","sr-Cyrl-ME","gsw-CH","de-BE","so","ff-Latn-MR","lrc-IQ","tt-RU","kn","ca-AD","sw-TZ","zh-Hant-TW","saq-Latn-KE","te","ff-Latn-SN","pa-Guru","en-BS","de-LU","kxv-Telu-IN","hu-Latn-HU","en-FK","mai-IN","agq-CM","gl-Latn-ES","csw","af","gd-Latn-GB","mdf","fr-GP","ff-Latn-BF","ti-ET","ne-IN","en-US","ar-KM","zh-Hans-MY","vai","ko-KR","fr-BI","sa","ha-NG","kxv-Orya-IN","ky-Cyrl-KG","pl","nus","ar-LY","es-US","it-IT","en-MP","cgg","mk-MK","es-UY","nqo","fr-BL","en-KE","mi","doi","bal-Latn-PK","za-Latn-CN","lrc-Arab-IR","szl","oc","kok-Latn-IN","yue-HK","vai-Vaii","es-DO","chr-Cher-US","ha-GH","sbp-TZ","kok-IN","dua-Latn-CM","en-KY","fr-CM","eo-Latn-001","bgc-IN","st-ZA","sbp","csw-CA","ht-HT","pt-CH","yi","tk-TM","mni-Beng-IN","lo","ia","kxv-Deva","kw","shi-Tfng","am","bho-IN","nl-SX","fr-CD","kln-KE","yrl-VE","en-SZ","en-CH","sr-Cyrl","sn-Latn-ZW","naq","ksf-CM","en-IN","ff-Adlm-MR","en-AT","wo-Latn-SN","en-ES","gv-IM","vai-Latn-LR","fr-MF","wae-CH","szl-PL","pcm-NG","en-MV","yo-Latn-NG","bez-Latn-TZ","ar-SY","el-GR","su","it","ml-IN","te-IN","lt-LT","ht","om","nyn","st-LS","bs-Cyrl-BA","fo-DK","en-CM","it-VA","ee-TG","ar-QA","no-Latn-NO","vmw-MZ","mas-KE","ki-KE","es-PE","fi-FI","to-TO","mer","ig-NG","bn-IN","pt-Latn-BR","zh-TW","xog-Latn-UG","nd-Latn-ZW","ksf","en-KI","mni-IN","en-MO","ml","es-PA","ff-Adlm-NE","fi-Latn-FI","en-SE","tt","khq-Latn-ML","et-EE","fr-SY","sr-RS","dyo-SN","mfe-Latn-MU","en-SG","csw-Cans-CA","en-GD","ar-DZ","ff-Latn-CM","da-Latn-DK","mni-Beng","en-IM","zh-Hans-SG","pa-Arab","bho","fr-SC","haw","kea-Latn-CV","es-CO","ks-IN","fr-MQ","nl-SR","en-HK","om-KE","mk","raj-Deva-IN","en","en-JM","nl","sa-Deva-IN","en-DG","fr-GQ","su-Latn-ID","lmo-Latn-IT","yo-BJ","jmc","nds","es-VE","tr-CY","zh","ks-Arab-IN","ru-UA","be-TARASK","fr-TG","sw-KE","sd-Deva-IN","raj","nl-BQ","fr-CG","sr-Cyrl-BA","tzm","se-SE","za-CN","es-PY","dyo","bn","gd","bal-Latn","es-HN","kam-Latn-KE","os-Cyrl-GE","lb","is-IS","pa","es-GT","tn-ZA","fr-DZ","en-PK","ks-Deva","pis-SB","ms-BN","so-Latn-SO","pt-MO","chr-US","seh","ru-MD","lv-LV","fil-Latn-PH","dav-Latn-KE","vec-IT","za","nso-ZA","mn","en-TO","he-Hebr-IL","asa","be-Cyrl-BY","nnh-Latn-CM","mr-IN","he-IL","kxv-Deva-IN","en-PN","pa-Arab-PK","shi-MA","en-ER","so-SO","sk","fr-PF","en-SC","en-LR","fo-Latn-FO","ie","mdf-Cyrl-RU","nso","se-NO","nnh-CM","guz","naq-NA","ksf-Latn-CM","eo","ff-Adlm-GW","ur-PK","st","ar-IL","gu-Gujr-IN","ar-001","de","kk-Cyrl-KZ","lkt-US","ar-EG","en-GM","sr-Latn-XK","en-SB","id","mi-Latn-NZ","fr-NC","ar-SO","el-Grek-GR","sr-ME","zh-Hans-MO","si-Sinh-LK","cgg-Latn-UG","fr-LU","wae-Latn-CH","sg-Latn-CF","ceb-Latn-PH","fr-MA","cy","ar","xnr-Deva-IN","fa-IR","zu-ZA","smn-Latn-FI","lb-Latn-LU","en-GG","id-ID","de-IT","doi-Deva-IN","hy","es-BR","es-BZ","mgo-CM","th-Thai-TH","zgh-Tfng-MA","uk","en-IT","om-Latn-ET","en-TZ","en-MW","en-FJ","en-ID","dav","uk-UA","ar-BH","ms-SG","it-CH","nb","yo","ar-TD","fr-FR","sc-IT","en-MT","ta-IN","vi-Latn-VN","lt-Latn-LT","ccp-Cakm-BD","seh-Latn-MZ","en-PW","ast-ES","tok","su-Latn","en-CA","zh-HK","el-POLYTON","gu-IN","yue-Hant-MO","sah-Cyrl-RU","gaa-GH","yrl-Latn-BR","cv-RU","bo-CN","ta","lb-LU","nqo-GN","ur-IN","ii-CN","ru","hi-Latn-IN","gl","rn-Latn-BI","tk-Latn-TM","sms","ga-GB","fr-RE","wo-SN","kln-Latn-KE","en-NA","fur","su-ID","mdf-RU","se","sl-SI","pa-IN","haw-Latn-US","pcm","ar-YE","ug-Arab-CN","fil-PH","ar-EH","dsb-Latn-DE","bs","sw-CD","mai-Deva-IN","ro-RO","ko-Kore-KR","en-MY","fr-YT","nds-Latn-DE","te-Telu-IN","or-Orya-IN","en-KN","smn-FI","lag-Latn-TZ","hy-Armn-AM","af-NA","teo-KE","th-TH-u-nu-thai-x-lvariant-TH","guz-KE","en-GY","yue-Hant-CN","vmw-Latn-MZ","en-HU","sc","sd","saq","pt-GQ","en-FR","smn","ebu-Latn-KE","fr-GF","sv-Latn-SE","lmo-IT","sn","ks-Arab","es-AR","zh-Hant-HK","km","ig","zh-SG","ee","bgc","fr-MC","br","ann-NG","ccp","fy","kde-Latn-TZ","he","qu-Latn-PE","fil","luo-Latn-KE","si-LK","fr-CI","mer-KE","lag-TZ","uz-Cyrl","en-TC","xnr","ff-SN","ru-Cyrl-RU","it-SM","yue-Hans","shi","dje","brx-IN","sat-Olck-IN","en-GS","ff-Adlm-GM","sk-Latn-SK","sr-CS","sv","ff-Latn","kok","en-SL","da","ms-MY","zu","os","ar-SA","is-Latn-IS","fa-AF","sv-FI","ar-IQ","ff-Latn-NG","sw","en-NU","mgo-Latn-CM","es-MX","es-GQ","ne","es-IC","gsw-Latn-CH","dz","mg","kxv-IN","kgp","en-CZ","cv-Cyrl-RU","ff-Latn-GW","kgp-BR","fy-Latn-NL","fr-SN","es-CL","nnh","lmo","bez-TZ","ff-Adlm","lkt-Latn-US","my-MM","fur-Latn-IT","en-RO","kw-Latn-GB","yav","lag","en-NO","fr-BJ","nus-SS","bem","bs-BA","fa-Arab-IR","ln-CF","mas-Latn-KE","ksb-Latn-TZ","gsw","mr-Deva-IN","sr-Latn-ME","nqo-Nkoo-GN","nd-ZW","mt-MT","en-IL","ki","lu-CD","xh-Latn-ZA","lo-Laoo-LA","en-BB","sr-Cyrl-XK","vun-TZ","en-LC","seh-MZ","gd-GB","en-NF","bm","ru-KG","rof-TZ","ff-Adlm-SL","ff-Latn-GM","ckb-IR","my","yi-Hebr-UA","bg","lt","ms","ar-DJ","tzm-Latn-MA","brx-Deva-IN","ru-BY","ro-Latn-RO","hr-Latn-HR","hi-Latn","bn-Beng-BD","ckb-Arab-IQ","et-Latn-EE","sc-Latn-IT","en-CC","chr","sa-IN","fr-GN","ee-GH","kam","ru-RU","se-Latn-NO","teo-UG","jgo-Latn-CM","mg-Latn-MG","fr-TN","bas-Latn-CM","cs-CZ","vai-Vaii-LR","en-150","ff-GN","nyn-Latn-UG","ga-IE","az-Cyrl","mzn-Arab-IR","kxv-Latn","fr-VU","en-AS","fr-CH","dsb","twq-NE","rm-CH","lrc-IR","ewo-CM","en-FM","bs-Latn-BA","tt-Cyrl-RU","fr-MU","bg-BG","hi-Deva-IN","luy-KE","lv","as-Beng-IN","ar-TN","syr","mai","ka-GE","ja-Jpan-JP","sr-Latn","es-419","en-MH","zh-Hant-MO","tk","sq-MK","cs-Latn-CZ","fr-DJ","kxv-Orya","sms-Latn-FI","mt","uk-Cyrl-UA","yav-Latn-CM","sr-BA","mi-NZ","km-Khmr-KH","ia-001","qu","dz-BT","ff-Adlm-SN","ar-MR","fr-HT","km-KH","tg-Cyrl-TJ","ha-NE","ak","tn-BW","br-FR","en-VC","os-GE","eu","mgh-Latn-MZ","lv-Latn-LV","kn-IN","ff-Adlm-NG","en-DK","fy-NL","sr","pa-Guru-IN","pl-Latn-PL","rwk","pt-TL","az-Cyrl-AZ","en-SH","en-BZ","si","ps-Arab-AF","eu-ES","af-ZA","es-PR","yue-Hans-CN","ti-Ethi-ET","hi","tg","blo-Latn-BJ","en-ZM","ar-MA","vai-Latn","oc-ES","ie-EE","ceb","pa-PK","bem-ZM","en-BI","vi","en-LS","no","mk-Cyrl-MK","ak-Latn-GH","ak-GH","ff-Latn-SL","zh-Hans-HK","qu-BO","ps","sn-ZW","am-ET","sq","yue-CN","rof-Latn-TZ","sw-Latn-TZ","kab","rw-RW","es-Latn-ES","bem-Latn-ZM","bo","fr-MG","ar-SS","luo-KE","am-Ethi-ET","ie-Latn-EE","kk-Cyrl","lrc","dyo-Latn-SN","nl-Latn-NL","yrl-CO","fa","doi-IN","ca-ES-VALENCIA","ar-PS","bm-ML","no-NO","rm","en-NL","it-Latn-IT","en-CX","to","en-SK","hy-AM","sd-Arab","mer-Latn-KE","zu-Latn-ZA","en-001","tn-Latn-ZA","asa-TZ","ta-LK","bas-CM","zh-Hant-MY","ky","id-Latn-ID","xog-UG","fr-GA"],"example":"en-US","type":"string"},"preferredTimezone":{"description":"The preferred time zone","enum":["Atlantic/South_Georgia","SST","Asia/Irkutsk","America/Matamoros","Europe/Bucharest","Asia/Karachi","W-SU","America/Chihuahua","Etc/UCT","Asia/Dacca","Europe/Minsk","IET","America/Cambridge_Bay","US/East-Indiana","America/Fort_Wayne","America/Havana","Kwajalein","BST","America/Santiago","NZ-CHAT","America/Adak","Europe/Kiev","MST","Asia/Macao","Pacific/Apia","America/Chicago","Pacific/Enderbury","Canada/Mountain","SystemV/MST7MDT","America/Cancun","America/Aruba","Indian/Reunion","America/North_Dakota/New_Salem","Atlantic/Cape_Verde","Europe/Sofia","Asia/Calcutta","America/Atikokan","Indian/Mauritius","CST6CDT","Australia/Eucla","Asia/Chungking","ECT","Australia/Tasmania","America/St_Vincent","America/North_Dakota/Beulah","US/Michigan","America/Argentina/Catamarca","Europe/Volgograd","America/Fortaleza","Navajo","SystemV/PST8PDT","America/Goose_Bay","Asia/Rangoon","Australia/North","GB","Europe/Vaduz","Canada/Saskatchewan","Africa/Dakar","Asia/Chita","Asia/Ulaanbaatar","America/Guyana","Pacific/Yap","America/Phoenix","Asia/Srednekolymsk","America/Merida","America/Boise","Africa/Sao_Tome","Pacific/Midway","America/Boa_Vista","Europe/Lisbon","America/Araguaina","America/Tortola","Europe/Vatican","America/Montevideo","Asia/Pontianak","US/Indiana-Starke","US/Eastern","Antarctica/Macquarie","America/Edmonton","Asia/Dhaka","SystemV/YST9","UCT","America/Kentucky/Louisville","America/Panama","Pacific/Tahiti","Asia/Hebron","Atlantic/Bermuda","America/Montserrat","Pacific/Nauru","Asia/Riyadh","America/Sitka","America/Miquelon","Australia/Perth","Europe/Uzhgorod","US/Central","Asia/Jakarta","Asia/Saigon","PNT","Australia/Melbourne","Etc/GMT-14","America/Argentina/San_Juan","SystemV/CST6","NST","America/Denver","Asia/Muscat","Asia/Dushanbe","Europe/Guernsey","Africa/Porto-Novo","Europe/Zagreb","Asia/Tokyo","Asia/Bangkok","America/St_Lucia","America/Belem","Antarctica/Casey","Australia/NSW","Asia/Choibalsan","America/Ciudad_Juarez","Canada/Newfoundland","America/Indiana/Vevay","America/Menominee","Etc/GMT+5","Etc/GMT+4","Indian/Kerguelen","Europe/Amsterdam","Europe/San_Marino","America/Yellowknife","America/Cayman","Asia/Singapore","America/Argentina/Cordoba","Australia/Lindeman","America/Bahia","EST","America/Campo_Grande","America/Inuvik","Antarctica/Palmer","ART","Etc/GMT+9","Etc/GMT+6","Europe/Ulyanovsk","Asia/Seoul","America/Santa_Isabel","America/Knox_IN","Pacific/Chatham","Mexico/BajaNorte","PRT","America/Mazatlan","America/Ensenada","America/Puerto_Rico","Asia/Aqtobe","US/Alaska","Portugal","America/Coyhaique","Asia/Novokuznetsk","America/Pangnirtung","SystemV/YST9YDT","Europe/Skopje","America/Resolute","Europe/Budapest","US/Aleutian","America/Thule","Africa/Asmara","Asia/Urumqi","Etc/GMT-7","Africa/Asmera","America/Porto_Acre","America/Argentina/San_Luis","Etc/GMT-11","Etc/GMT-8","JST","Africa/Mogadishu","Europe/Kirov","Pacific/Fiji","CNT","America/Rosario","America/Toronto","America/Hermosillo","Singapore","Europe/Bratislava","Europe/Paris","US/Arizona","America/Argentina/Tucuman","America/Nassau","Pacific/Saipan","Indian/Comoro","Indian/Mahe","Antarctica/South_Pole","America/St_Kitts","US/Hawaii","Asia/Istanbul","Atlantic/Faeroe","AGT","Indian/Maldives","Pacific/Kiritimati","America/Whitehorse","BET","Africa/Algiers","America/Port-au-Prince","Africa/Gaborone","Africa/Malabo","Asia/Bishkek","Pacific/Bougainville","Israel","Iran","Asia/Makassar","US/Pacific","Asia/Ho_Chi_Minh","America/Caracas","Asia/Ashkhabad","Australia/LHI","America/Santo_Domingo","Europe/Luxembourg","Atlantic/Madeira","Europe/Riga","Europe/Warsaw","Asia/Jayapura","Asia/Sakhalin","America/Indiana/Vincennes","Pacific/Gambier","Pacific/Majuro","Africa/Abidjan","Asia/Harbin","Pacific/Pago_Pago","US/Samoa","Asia/Omsk","Africa/Monrovia","Jamaica","Africa/Lome","Asia/Dubai","Africa/Tripoli","Eire","America/Tijuana","Australia/Currie","Etc/GMT+11","Asia/Dili","Africa/Conakry","Japan","America/Indianapolis","America/Managua","America/Nipigon","America/St_Barthelemy","Africa/Juba","Asia/Ujung_Pandang","Asia/Kuwait","Asia/Yangon","Africa/Kigali","Europe/Copenhagen","Etc/GMT-0","Europe/Zaporozhye","America/Louisville","America/Yakutat","Australia/Canberra","America/Los_Angeles","Mexico/General","America/Paramaribo","America/Indiana/Marengo","America/Montreal","SystemV/EST5EDT","Etc/GMT-2","Cuba","America/Catamarca","Brazil/West","Antarctica/DumontDUrville","Asia/Oral","America/Argentina/ComodRivadavia","Africa/Dar_es_Salaam","Asia/Magadan","Greenwich","Europe/Moscow","Asia/Yekaterinburg","Europe/Tirane","America/Argentina/Mendoza","Asia/Katmandu","Pacific/Tongatapu","Pacific/Johnston","America/Indiana/Winamac","Asia/Kolkata","America/Argentina/Jujuy","Etc/GMT-3","America/Bogota","America/Coral_Harbour","Australia/Hobart","Africa/Maputo","America/Manaus","Asia/Tashkent","Etc/GMT-13","Asia/Gaza","Etc/GMT+0","America/Tegucigalpa","Universal","Asia/Yakutsk","Etc/UTC","Asia/Almaty","Asia/Ashgabat","Australia/Victoria","America/La_Paz","Africa/Cairo","Etc/GMT","Atlantic/Reykjavik","America/Swift_Current","America/Grenada","Africa/Nouakchott","Pacific/Galapagos","America/Guadeloupe","Pacific/Ponape","America/Buenos_Aires","HST","Etc/GMT-1","Africa/Windhoek","Asia/Thimphu","Etc/GMT-9","Europe/Tallinn","Europe/Athens","Africa/Harare","America/Lima","Africa/El_Aaiun","Asia/Qostanay","Europe/Vilnius","Etc/GMT-5","America/Indiana/Petersburg","Pacific/Efate","Asia/Baku","America/Argentina/Rio_Gallegos","Australia/Broken_Hill","America/Monterrey","Asia/Shanghai","Africa/Kinshasa","CET","America/Kentucky/Monticello","US/Mountain","Libya","America/Godthab","Europe/Istanbul","Etc/GMT+8","Europe/Astrakhan","Asia/Hong_Kong","PST","Australia/Brisbane","Etc/GMT+1","VST","Australia/Darwin","Asia/Tbilisi","Asia/Anadyr","Etc/GMT0","Etc/GMT-10","Pacific/Truk","Africa/Johannesburg","Africa/Casablanca","America/Shiprock","Etc/GMT+2","America/Dawson","America/Regina","Africa/Timbuktu","America/Anchorage","America/Bahia_Banderas","America/Eirunepe","America/Argentina/Ushuaia","America/Curacao","America/Barbados","Pacific/Auckland","America/North_Dakota/Center","Antarctica/Troll","America/Recife","America/Punta_Arenas","Europe/Simferopol","Etc/Universal","CAT","Africa/Djibouti","PRC","America/Cayenne","America/Dominica","America/Scoresbysund","Asia/Atyrau","Africa/Maseru","Etc/GMT-6","Africa/Ouagadougou","America/Fort_Nelson","America/Jujuy","Europe/London","Atlantic/Faroe","Atlantic/Azores","Europe/Isle_of_Man","Asia/Aden","Pacific/Kanton","Asia/Macau","Pacific/Chuuk","Europe/Malta","Asia/Phnom_Penh","Asia/Vladivostok","America/Lower_Princes","Africa/Banjul","Asia/Kamchatka","America/Creston","Europe/Mariehamn","Canada/Eastern","EET","Pacific/Rarotonga","Africa/Ndjamena","America/Nome","SystemV/AST4ADT","Asia/Famagusta","America/Juneau","EST5EDT","Antarctica/Rothera","America/Port_of_Spain","Asia/Thimbu","Europe/Samara","Chile/EasterIsland","Canada/Central","Asia/Brunei","Africa/Niamey","Europe/Rome","Asia/Qyzylorda","Asia/Taipei","America/Marigot","Atlantic/Jan_Mayen","Brazil/Acre","Africa/Mbabane","Pacific/Marquesas","Africa/Douala","America/Rankin_Inlet","Indian/Christmas","America/Rio_Branco","America/Argentina/Buenos_Aires","Asia/Nicosia","Africa/Libreville","Etc/GMT-4","Europe/Sarajevo","Africa/Bissau","Asia/Kathmandu","America/Metlakatla","Australia/ACT","America/Argentina/Salta","Africa/Brazzaville","IST","Europe/Busingen","America/Indiana/Tell_City","Europe/Madrid","Europe/Berlin","ACT","America/Antigua","Africa/Nairobi","Pacific/Funafuti","America/Halifax","Asia/Novosibirsk","Antarctica/Syowa","Asia/Kashgar","Asia/Ulan_Bator","America/Guatemala","Pacific/Palau","Etc/GMT+7","America/Glace_Bay","America/Santarem","Atlantic/Canary","Pacific/Samoa","Asia/Baghdad","America/Argentina/La_Rioja","Asia/Kuching","Egypt","Australia/Sydney","Antarctica/McMurdo","America/Guayaquil","Asia/Hovd","Pacific/Noumea","Africa/Blantyre","Asia/Samarkand","Africa/Addis_Ababa","Europe/Monaco","Etc/GMT+3","Pacific/Honolulu","America/New_York","America/Indiana/Indianapolis","Etc/Zulu","America/Mendoza","Asia/Vientiane","Africa/Lusaka","Africa/Kampala","Poland","America/Detroit","Brazil/DeNoronha","Indian/Cocos","Pacific/Norfolk","Pacific/Wake","America/Cordoba","America/Blanc-Sablon","Pacific/Guadalcanal","Asia/Krasnoyarsk","Asia/Yerevan","Pacific/Niue","Europe/Belgrade","Pacific/Pitcairn","America/Asuncion","SystemV/CST6CDT","Turkey","America/Cuiaba","NET","Africa/Khartoum","Asia/Chongqing","Africa/Tunis","ROK","Europe/Helsinki","Asia/Damascus","Asia/Beirut","SystemV/PST8","Africa/Accra","Australia/Yancowinna","America/Kralendijk","America/Jamaica","Europe/Tiraspol","Africa/Ceuta","Europe/Ljubljana","America/St_Thomas","Indian/Mayotte","WET","America/Sao_Paulo","Europe/Andorra","CTT","Europe/Dublin","PLT","Antarctica/Mawson","Canada/Atlantic","Pacific/Kosrae","America/Ojinaga","America/Winnipeg","Europe/Chisinau","SystemV/HST10","Pacific/Kwajalein","Pacific/Fakaofo","America/Anguilla","Asia/Tehran","Australia/West","America/Noronha","Antarctica/Davis","Asia/Jerusalem","Etc/Greenwich","America/Indiana/Knox","Asia/Barnaul","Africa/Bujumbura","America/Moncton","Australia/South","America/Rainy_River","Pacific/Tarawa","Africa/Lubumbashi","SystemV/EST5","America/Danmarkshavn","America/Martinique","Europe/Stockholm","Hongkong","Australia/Queensland","Asia/Colombo","Asia/Qatar","MST7MDT","Canada/Pacific","Europe/Prague","Atlantic/Stanley","Brazil/East","Asia/Khandyga","PST8PDT","Etc/GMT+12","America/Nuuk","UTC","America/El_Salvador","America/Maceio","Pacific/Wallis","Europe/Podgorica","Zulu","Asia/Pyongyang","America/Grand_Turk","Atlantic/St_Helena","Europe/Oslo","Africa/Freetown","Africa/Luanda","GMT","AET","Africa/Lagos","America/Costa_Rica","Europe/Kyiv","SystemV/MST7","Asia/Kuala_Lumpur","Pacific/Easter","Indian/Antananarivo","America/Belize","America/Vancouver","Europe/Nicosia","Australia/Lord_Howe","Europe/Kaliningrad","EAT","Europe/Zurich","Asia/Bahrain","MET","Pacific/Pohnpei","Africa/Bangui","Asia/Manila","AST","Europe/Belfast","Etc/GMT-12","Pacific/Guam","GB-Eire","Chile/Continental","GMT0","Asia/Ust-Nera","Asia/Aqtau","Etc/GMT+10","Africa/Bamako","Australia/Adelaide","Europe/Saratov","America/Mexico_City","Europe/Vienna","America/Iqaluit","Canada/Yukon","Asia/Amman","America/Dawson_Creek","Arctic/Longyearbyen","America/Virgin","CST","Asia/Tomsk","Antarctica/Vostok","Asia/Kabul","America/Atka","Europe/Gibraltar","NZ","Mexico/BajaSur","America/Porto_Velho","Indian/Chagos","America/Thunder_Bay","Europe/Jersey","MIT","Iceland","America/St_Johns","Europe/Brussels","SystemV/AST4","Asia/Tel_Aviv","Pacific/Port_Moresby"],"example":"America/Chicago","type":"string"},"supportedLanguages":{"description":"Languages supported for notifications on this provider","example":["en-US","fr-CA"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"usePreferredLocale":{"description":"When true, date/time notification variables always use preferred-locale, regardless of content language. When false (default), they follow the content language: preferred-language for base content, or the translation's own language for translated content.","example":false,"type":"boolean"}},"required":[],"type":"object"},"settings.response":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"preferredLanguage":{"description":"The preferred notification language","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"preferredLocale":{"description":"The preferred locale","enum":["ia-Latn-001","ar-Arab-EG","vai-LR","en-MS","sd-IN","ksh","fr-CF","wae","pt-LU","tzm-MA","fr","en-JE","en-IO","ti","bo-Tibt-CN","haw-US","to-Latn-TO","nb-Latn-NO","so-ET","fr-WF","xog","kok-Deva","ne-Deva-NP","ckb-IQ","vun","yrl-BR","kgp-Latn-BR","nl-CW","lo-LA","ha","en-TK","sq-AL","jgo-CM","kkj-CM","xnr-IN","rwk-Latn-TZ","mt-Latn-MT","ckb","en-VG","so-DJ","ann-Latn-NG","qu-EC","nds-DE","shi-Latn-MA","ff-Adlm-CM","en-DM","en-PH","gu","cgg-UG","jmc-TZ","wo","kln","ja-JP","ar-KW","zgh","yav-CM","hsb","hi-IN","nl-NL","syr-IQ","dje-NE","ja","ru-KZ","gaa-Latn-GH","de-DE","agq","blo-BJ","jv","pis-Latn-SB","brx","mua-CM","twq","ff-Latn-GN","hsb-DE","en-PG","kok-Latn","se-FI","bg-Cyrl-BG","sr-Latn-RS","en-GB","fr-BF","my-Mymr-MM","az","sd-PK","es-CU","ka","pt-ST","frr-DE","bas","el","zh-MO","fo","ff-Latn-NE","en-DE","rw","mua","en-PL","pt-MZ","es-EC","vmw","pt-CV","ff-Adlm-GN","sah-RU","kab-DZ","de-LI","cy-GB","frr","ha-Latn-NG","ff-Latn-GH","ce-Cyrl-RU","uz-Cyrl-UZ","bm-Latn-ML","hr","dua","nmg-CM","es","uz-AF","kde-TZ","az-Latn-AZ","dje-Latn-NE","en-VU","en-TT","yrl","en-AE","ca-IT","ca-Latn-ES","es-NI","en-SD","ksh-Latn-DE","pt","ku-Latn-TR","tok-001","ses","en-WS","ar-ER","gv","lg-Latn-UG","ml-Mlym-IN","kk-KZ","ff-Adlm-LR","syr-Syrc-IQ","nn-NO","ky-KG","mzn","nso-Latn-ZA","eo-001","khq-ML","shi-Latn","ar-SD","bez","en-RW","rn","en-BM","en-VI","fo-FO","fr-NE","ce","ce-RU","lg","ebu-KE","sv-AX","tok-Latn-001","de-CH","lu","luy-Latn-KE","ccp-BD","de-AT","ses-Latn-ML","uz-Arab-AF","fi","ii","nmg-Latn-CM","ps-AF","kok-Deva-IN","om-ET","mg-MG","ga","nd","vec-Latn-IT","rw-Latn-RW","bn-BD","bgc-Deva-IN","xh-ZA","es-EA","nds-NL","dz-Tibt-BT","sg-CF","vec","ln-CD","nmg","en-SX","kde","ko-KP","kam-KE","az-AZ","sbp-Latn-TZ","fr-KM","gaa","ff-Latn-LR","gl-ES","ja-JP-u-ca-japanese-x-lvariant-JP","blo","mas-TZ","ff","en-PT","asa-Latn-TZ","syr-SY","dsb-DE","rm-Latn-CH","gv-Latn-IM","kab-Latn-DZ","gsw-FR","mfe-MU","qu-PE","ta-MY","uz-Latn-UZ","ps-PK","vi-VN","kkj-Latn-CM","hsb-Latn-DE","ku-TR","dav-KE","ta-SG","pis","ar-JO","en-NR","kl-Latn-GL","oc-Latn-FR","kxv-Telu","is","en-BE","agq-Latn-CM","eu-Latn-ES","en-MG","be","en-AI","ca-FR","shi-Tfng-MA","kn-Knda-IN","ks","es-SV","mfe","ug","rwk-TZ","ar-OM","ann","hu-HU","sr-Cyrl-RS","pt-PT","zh-Hans-CN","sms-FI","sr-Latn-BA","zh-Latn-CN","tr-TR","ksb-TZ","ast-Latn-ES","pcm-Latn-NG","ti-ER","tr-Latn-TR","cv","br-Latn-FR","gsw-LI","tg-TJ","so-KE","ln-CG","ksh-DE","ccp-IN","yue-Hant-HK","en-Latn-US","kl-GL","hr-BA","mgh-MZ","en-UG","kea-CV","nus-Latn-SS","cy-Latn-GB","lij","fr-RW","frr-Latn-DE","da-DK","ses-ML","yo-NG","ko-CN","sl-Latn-SI","yi-UA","ga-Latn-IE","lg-UG","en-US-POSIX","en-MU","pl-PL","fr-BE","zh-Hant","es-BO","kl","ebu","en-CK","en-IE","khq","ms-ID","teo","fr-TD","es-ES","kw-GB","guz-Latn-KE","ii-Yiii-CN","jmc-Latn-TZ","ln","ne-NP","bho-Deva-IN","ta-Taml-IN","or-IN","en-AU","sk-SK","bs-Latn","nn-Latn-NO","luo","bo-IN","ca","en-CY","en-GU","sv-SE","luy","ms-Latn-MY","as","sat-IN","ro","fr-MR","lkt","en-UM","zh-Hans","ug-CN","mgh","en-GH","saq-KE","en-NZ","ewo-Latn-CM","sl","az-Latn","ksb","jgo","en-SS","jv-Latn-ID","vun-Latn-TZ","pt-AO","zh-CN","or","sah","ur-Arab-PK","nn","mgo","ki-Latn-KE","zh-Latn","fr-CA","th","nb-SJ","oc-FR","es-PH","kxv","mn-Cyrl-MN","mzn-IR","teo-Latn-UG","lij-Latn-IT","yue","raj-IN","ln-Latn-CD","xh","tr","ur","ks-Deva-IN","dua-CM","rn-BI","et","en-ZA","ff-Adlm-BF","hr-HR","os-RU","cs","mua-Latn-CM","ig-Latn-NG","kxv-Latn-IN","hu","en-FI","fr-Latn-FR","nl-AW","rof","en-BW","ca-ES","sg","en-NG","th-TH","en-SI","kkj","lu-Latn-CD","kea","ff-Adlm-GH","ro-MD","fr-PM","yue-Hant","mr","uz-UZ","uz","ku","ar-LB","st-Latn-ZA","ee-Latn-GH","ewo","jv-ID","sat-Olck","ht-Latn-HT","mas","pt-BR","sq-XK","fr-ML","ln-AO","uz-Arab","be-BY","sat","da-GL","en-ZW","nl-BE","de-Latn-DE","ka-Geor-GE","uz-Latn","as-IN","nb-NO","af-Latn-ZA","ar-AE","ceb-PH","es-CR","bs-Cyrl","mn-MN","en-PR","ast","lij-IT","pt-GW","fur-IT","sd-Arab-PK","mni","twq-Latn-NE","en-AG","tn","nyn-UG","en-TV","el-CY","sq-Latn-AL","szl-Latn-PL","naq-Latn-NA","zgh-MA","en-GI","kk","sd-Deva","ko","sw-UG","und","sr-Cyrl-ME","gsw-CH","de-BE","so","ff-Latn-MR","lrc-IQ","tt-RU","kn","ca-AD","sw-TZ","zh-Hant-TW","saq-Latn-KE","te","ff-Latn-SN","pa-Guru","en-BS","de-LU","kxv-Telu-IN","hu-Latn-HU","en-FK","mai-IN","agq-CM","gl-Latn-ES","csw","af","gd-Latn-GB","mdf","fr-GP","ff-Latn-BF","ti-ET","ne-IN","en-US","ar-KM","zh-Hans-MY","vai","ko-KR","fr-BI","sa","ha-NG","kxv-Orya-IN","ky-Cyrl-KG","pl","nus","ar-LY","es-US","it-IT","en-MP","cgg","mk-MK","es-UY","nqo","fr-BL","en-KE","mi","doi","bal-Latn-PK","za-Latn-CN","lrc-Arab-IR","szl","oc","kok-Latn-IN","yue-HK","vai-Vaii","es-DO","chr-Cher-US","ha-GH","sbp-TZ","kok-IN","dua-Latn-CM","en-KY","fr-CM","eo-Latn-001","bgc-IN","st-ZA","sbp","csw-CA","ht-HT","pt-CH","yi","tk-TM","mni-Beng-IN","lo","ia","kxv-Deva","kw","shi-Tfng","am","bho-IN","nl-SX","fr-CD","kln-KE","yrl-VE","en-SZ","en-CH","sr-Cyrl","sn-Latn-ZW","naq","ksf-CM","en-IN","ff-Adlm-MR","en-AT","wo-Latn-SN","en-ES","gv-IM","vai-Latn-LR","fr-MF","wae-CH","szl-PL","pcm-NG","en-MV","yo-Latn-NG","bez-Latn-TZ","ar-SY","el-GR","su","it","ml-IN","te-IN","lt-LT","ht","om","nyn","st-LS","bs-Cyrl-BA","fo-DK","en-CM","it-VA","ee-TG","ar-QA","no-Latn-NO","vmw-MZ","mas-KE","ki-KE","es-PE","fi-FI","to-TO","mer","ig-NG","bn-IN","pt-Latn-BR","zh-TW","xog-Latn-UG","nd-Latn-ZW","ksf","en-KI","mni-IN","en-MO","ml","es-PA","ff-Adlm-NE","fi-Latn-FI","en-SE","tt","khq-Latn-ML","et-EE","fr-SY","sr-RS","dyo-SN","mfe-Latn-MU","en-SG","csw-Cans-CA","en-GD","ar-DZ","ff-Latn-CM","da-Latn-DK","mni-Beng","en-IM","zh-Hans-SG","pa-Arab","bho","fr-SC","haw","kea-Latn-CV","es-CO","ks-IN","fr-MQ","nl-SR","en-HK","om-KE","mk","raj-Deva-IN","en","en-JM","nl","sa-Deva-IN","en-DG","fr-GQ","su-Latn-ID","lmo-Latn-IT","yo-BJ","jmc","nds","es-VE","tr-CY","zh","ks-Arab-IN","ru-UA","be-TARASK","fr-TG","sw-KE","sd-Deva-IN","raj","nl-BQ","fr-CG","sr-Cyrl-BA","tzm","se-SE","za-CN","es-PY","dyo","bn","gd","bal-Latn","es-HN","kam-Latn-KE","os-Cyrl-GE","lb","is-IS","pa","es-GT","tn-ZA","fr-DZ","en-PK","ks-Deva","pis-SB","ms-BN","so-Latn-SO","pt-MO","chr-US","seh","ru-MD","lv-LV","fil-Latn-PH","dav-Latn-KE","vec-IT","za","nso-ZA","mn","en-TO","he-Hebr-IL","asa","be-Cyrl-BY","nnh-Latn-CM","mr-IN","he-IL","kxv-Deva-IN","en-PN","pa-Arab-PK","shi-MA","en-ER","so-SO","sk","fr-PF","en-SC","en-LR","fo-Latn-FO","ie","mdf-Cyrl-RU","nso","se-NO","nnh-CM","guz","naq-NA","ksf-Latn-CM","eo","ff-Adlm-GW","ur-PK","st","ar-IL","gu-Gujr-IN","ar-001","de","kk-Cyrl-KZ","lkt-US","ar-EG","en-GM","sr-Latn-XK","en-SB","id","mi-Latn-NZ","fr-NC","ar-SO","el-Grek-GR","sr-ME","zh-Hans-MO","si-Sinh-LK","cgg-Latn-UG","fr-LU","wae-Latn-CH","sg-Latn-CF","ceb-Latn-PH","fr-MA","cy","ar","xnr-Deva-IN","fa-IR","zu-ZA","smn-Latn-FI","lb-Latn-LU","en-GG","id-ID","de-IT","doi-Deva-IN","hy","es-BR","es-BZ","mgo-CM","th-Thai-TH","zgh-Tfng-MA","uk","en-IT","om-Latn-ET","en-TZ","en-MW","en-FJ","en-ID","dav","uk-UA","ar-BH","ms-SG","it-CH","nb","yo","ar-TD","fr-FR","sc-IT","en-MT","ta-IN","vi-Latn-VN","lt-Latn-LT","ccp-Cakm-BD","seh-Latn-MZ","en-PW","ast-ES","tok","su-Latn","en-CA","zh-HK","el-POLYTON","gu-IN","yue-Hant-MO","sah-Cyrl-RU","gaa-GH","yrl-Latn-BR","cv-RU","bo-CN","ta","lb-LU","nqo-GN","ur-IN","ii-CN","ru","hi-Latn-IN","gl","rn-Latn-BI","tk-Latn-TM","sms","ga-GB","fr-RE","wo-SN","kln-Latn-KE","en-NA","fur","su-ID","mdf-RU","se","sl-SI","pa-IN","haw-Latn-US","pcm","ar-YE","ug-Arab-CN","fil-PH","ar-EH","dsb-Latn-DE","bs","sw-CD","mai-Deva-IN","ro-RO","ko-Kore-KR","en-MY","fr-YT","nds-Latn-DE","te-Telu-IN","or-Orya-IN","en-KN","smn-FI","lag-Latn-TZ","hy-Armn-AM","af-NA","teo-KE","th-TH-u-nu-thai-x-lvariant-TH","guz-KE","en-GY","yue-Hant-CN","vmw-Latn-MZ","en-HU","sc","sd","saq","pt-GQ","en-FR","smn","ebu-Latn-KE","fr-GF","sv-Latn-SE","lmo-IT","sn","ks-Arab","es-AR","zh-Hant-HK","km","ig","zh-SG","ee","bgc","fr-MC","br","ann-NG","ccp","fy","kde-Latn-TZ","he","qu-Latn-PE","fil","luo-Latn-KE","si-LK","fr-CI","mer-KE","lag-TZ","uz-Cyrl","en-TC","xnr","ff-SN","ru-Cyrl-RU","it-SM","yue-Hans","shi","dje","brx-IN","sat-Olck-IN","en-GS","ff-Adlm-GM","sk-Latn-SK","sr-CS","sv","ff-Latn","kok","en-SL","da","ms-MY","zu","os","ar-SA","is-Latn-IS","fa-AF","sv-FI","ar-IQ","ff-Latn-NG","sw","en-NU","mgo-Latn-CM","es-MX","es-GQ","ne","es-IC","gsw-Latn-CH","dz","mg","kxv-IN","kgp","en-CZ","cv-Cyrl-RU","ff-Latn-GW","kgp-BR","fy-Latn-NL","fr-SN","es-CL","nnh","lmo","bez-TZ","ff-Adlm","lkt-Latn-US","my-MM","fur-Latn-IT","en-RO","kw-Latn-GB","yav","lag","en-NO","fr-BJ","nus-SS","bem","bs-BA","fa-Arab-IR","ln-CF","mas-Latn-KE","ksb-Latn-TZ","gsw","mr-Deva-IN","sr-Latn-ME","nqo-Nkoo-GN","nd-ZW","mt-MT","en-IL","ki","lu-CD","xh-Latn-ZA","lo-Laoo-LA","en-BB","sr-Cyrl-XK","vun-TZ","en-LC","seh-MZ","gd-GB","en-NF","bm","ru-KG","rof-TZ","ff-Adlm-SL","ff-Latn-GM","ckb-IR","my","yi-Hebr-UA","bg","lt","ms","ar-DJ","tzm-Latn-MA","brx-Deva-IN","ru-BY","ro-Latn-RO","hr-Latn-HR","hi-Latn","bn-Beng-BD","ckb-Arab-IQ","et-Latn-EE","sc-Latn-IT","en-CC","chr","sa-IN","fr-GN","ee-GH","kam","ru-RU","se-Latn-NO","teo-UG","jgo-Latn-CM","mg-Latn-MG","fr-TN","bas-Latn-CM","cs-CZ","vai-Vaii-LR","en-150","ff-GN","nyn-Latn-UG","ga-IE","az-Cyrl","mzn-Arab-IR","kxv-Latn","fr-VU","en-AS","fr-CH","dsb","twq-NE","rm-CH","lrc-IR","ewo-CM","en-FM","bs-Latn-BA","tt-Cyrl-RU","fr-MU","bg-BG","hi-Deva-IN","luy-KE","lv","as-Beng-IN","ar-TN","syr","mai","ka-GE","ja-Jpan-JP","sr-Latn","es-419","en-MH","zh-Hant-MO","tk","sq-MK","cs-Latn-CZ","fr-DJ","kxv-Orya","sms-Latn-FI","mt","uk-Cyrl-UA","yav-Latn-CM","sr-BA","mi-NZ","km-Khmr-KH","ia-001","qu","dz-BT","ff-Adlm-SN","ar-MR","fr-HT","km-KH","tg-Cyrl-TJ","ha-NE","ak","tn-BW","br-FR","en-VC","os-GE","eu","mgh-Latn-MZ","lv-Latn-LV","kn-IN","ff-Adlm-NG","en-DK","fy-NL","sr","pa-Guru-IN","pl-Latn-PL","rwk","pt-TL","az-Cyrl-AZ","en-SH","en-BZ","si","ps-Arab-AF","eu-ES","af-ZA","es-PR","yue-Hans-CN","ti-Ethi-ET","hi","tg","blo-Latn-BJ","en-ZM","ar-MA","vai-Latn","oc-ES","ie-EE","ceb","pa-PK","bem-ZM","en-BI","vi","en-LS","no","mk-Cyrl-MK","ak-Latn-GH","ak-GH","ff-Latn-SL","zh-Hans-HK","qu-BO","ps","sn-ZW","am-ET","sq","yue-CN","rof-Latn-TZ","sw-Latn-TZ","kab","rw-RW","es-Latn-ES","bem-Latn-ZM","bo","fr-MG","ar-SS","luo-KE","am-Ethi-ET","ie-Latn-EE","kk-Cyrl","lrc","dyo-Latn-SN","nl-Latn-NL","yrl-CO","fa","doi-IN","ca-ES-VALENCIA","ar-PS","bm-ML","no-NO","rm","en-NL","it-Latn-IT","en-CX","to","en-SK","hy-AM","sd-Arab","mer-Latn-KE","zu-Latn-ZA","en-001","tn-Latn-ZA","asa-TZ","ta-LK","bas-CM","zh-Hant-MY","ky","id-Latn-ID","xog-UG","fr-GA"],"example":"en-US","type":"string"},"preferredTimezone":{"description":"The preferred time zone","enum":["Atlantic/South_Georgia","SST","Asia/Irkutsk","America/Matamoros","Europe/Bucharest","Asia/Karachi","W-SU","America/Chihuahua","Etc/UCT","Asia/Dacca","Europe/Minsk","IET","America/Cambridge_Bay","US/East-Indiana","America/Fort_Wayne","America/Havana","Kwajalein","BST","America/Santiago","NZ-CHAT","America/Adak","Europe/Kiev","MST","Asia/Macao","Pacific/Apia","America/Chicago","Pacific/Enderbury","Canada/Mountain","SystemV/MST7MDT","America/Cancun","America/Aruba","Indian/Reunion","America/North_Dakota/New_Salem","Atlantic/Cape_Verde","Europe/Sofia","Asia/Calcutta","America/Atikokan","Indian/Mauritius","CST6CDT","Australia/Eucla","Asia/Chungking","ECT","Australia/Tasmania","America/St_Vincent","America/North_Dakota/Beulah","US/Michigan","America/Argentina/Catamarca","Europe/Volgograd","America/Fortaleza","Navajo","SystemV/PST8PDT","America/Goose_Bay","Asia/Rangoon","Australia/North","GB","Europe/Vaduz","Canada/Saskatchewan","Africa/Dakar","Asia/Chita","Asia/Ulaanbaatar","America/Guyana","Pacific/Yap","America/Phoenix","Asia/Srednekolymsk","America/Merida","America/Boise","Africa/Sao_Tome","Pacific/Midway","America/Boa_Vista","Europe/Lisbon","America/Araguaina","America/Tortola","Europe/Vatican","America/Montevideo","Asia/Pontianak","US/Indiana-Starke","US/Eastern","Antarctica/Macquarie","America/Edmonton","Asia/Dhaka","SystemV/YST9","UCT","America/Kentucky/Louisville","America/Panama","Pacific/Tahiti","Asia/Hebron","Atlantic/Bermuda","America/Montserrat","Pacific/Nauru","Asia/Riyadh","America/Sitka","America/Miquelon","Australia/Perth","Europe/Uzhgorod","US/Central","Asia/Jakarta","Asia/Saigon","PNT","Australia/Melbourne","Etc/GMT-14","America/Argentina/San_Juan","SystemV/CST6","NST","America/Denver","Asia/Muscat","Asia/Dushanbe","Europe/Guernsey","Africa/Porto-Novo","Europe/Zagreb","Asia/Tokyo","Asia/Bangkok","America/St_Lucia","America/Belem","Antarctica/Casey","Australia/NSW","Asia/Choibalsan","America/Ciudad_Juarez","Canada/Newfoundland","America/Indiana/Vevay","America/Menominee","Etc/GMT+5","Etc/GMT+4","Indian/Kerguelen","Europe/Amsterdam","Europe/San_Marino","America/Yellowknife","America/Cayman","Asia/Singapore","America/Argentina/Cordoba","Australia/Lindeman","America/Bahia","EST","America/Campo_Grande","America/Inuvik","Antarctica/Palmer","ART","Etc/GMT+9","Etc/GMT+6","Europe/Ulyanovsk","Asia/Seoul","America/Santa_Isabel","America/Knox_IN","Pacific/Chatham","Mexico/BajaNorte","PRT","America/Mazatlan","America/Ensenada","America/Puerto_Rico","Asia/Aqtobe","US/Alaska","Portugal","America/Coyhaique","Asia/Novokuznetsk","America/Pangnirtung","SystemV/YST9YDT","Europe/Skopje","America/Resolute","Europe/Budapest","US/Aleutian","America/Thule","Africa/Asmara","Asia/Urumqi","Etc/GMT-7","Africa/Asmera","America/Porto_Acre","America/Argentina/San_Luis","Etc/GMT-11","Etc/GMT-8","JST","Africa/Mogadishu","Europe/Kirov","Pacific/Fiji","CNT","America/Rosario","America/Toronto","America/Hermosillo","Singapore","Europe/Bratislava","Europe/Paris","US/Arizona","America/Argentina/Tucuman","America/Nassau","Pacific/Saipan","Indian/Comoro","Indian/Mahe","Antarctica/South_Pole","America/St_Kitts","US/Hawaii","Asia/Istanbul","Atlantic/Faeroe","AGT","Indian/Maldives","Pacific/Kiritimati","America/Whitehorse","BET","Africa/Algiers","America/Port-au-Prince","Africa/Gaborone","Africa/Malabo","Asia/Bishkek","Pacific/Bougainville","Israel","Iran","Asia/Makassar","US/Pacific","Asia/Ho_Chi_Minh","America/Caracas","Asia/Ashkhabad","Australia/LHI","America/Santo_Domingo","Europe/Luxembourg","Atlantic/Madeira","Europe/Riga","Europe/Warsaw","Asia/Jayapura","Asia/Sakhalin","America/Indiana/Vincennes","Pacific/Gambier","Pacific/Majuro","Africa/Abidjan","Asia/Harbin","Pacific/Pago_Pago","US/Samoa","Asia/Omsk","Africa/Monrovia","Jamaica","Africa/Lome","Asia/Dubai","Africa/Tripoli","Eire","America/Tijuana","Australia/Currie","Etc/GMT+11","Asia/Dili","Africa/Conakry","Japan","America/Indianapolis","America/Managua","America/Nipigon","America/St_Barthelemy","Africa/Juba","Asia/Ujung_Pandang","Asia/Kuwait","Asia/Yangon","Africa/Kigali","Europe/Copenhagen","Etc/GMT-0","Europe/Zaporozhye","America/Louisville","America/Yakutat","Australia/Canberra","America/Los_Angeles","Mexico/General","America/Paramaribo","America/Indiana/Marengo","America/Montreal","SystemV/EST5EDT","Etc/GMT-2","Cuba","America/Catamarca","Brazil/West","Antarctica/DumontDUrville","Asia/Oral","America/Argentina/ComodRivadavia","Africa/Dar_es_Salaam","Asia/Magadan","Greenwich","Europe/Moscow","Asia/Yekaterinburg","Europe/Tirane","America/Argentina/Mendoza","Asia/Katmandu","Pacific/Tongatapu","Pacific/Johnston","America/Indiana/Winamac","Asia/Kolkata","America/Argentina/Jujuy","Etc/GMT-3","America/Bogota","America/Coral_Harbour","Australia/Hobart","Africa/Maputo","America/Manaus","Asia/Tashkent","Etc/GMT-13","Asia/Gaza","Etc/GMT+0","America/Tegucigalpa","Universal","Asia/Yakutsk","Etc/UTC","Asia/Almaty","Asia/Ashgabat","Australia/Victoria","America/La_Paz","Africa/Cairo","Etc/GMT","Atlantic/Reykjavik","America/Swift_Current","America/Grenada","Africa/Nouakchott","Pacific/Galapagos","America/Guadeloupe","Pacific/Ponape","America/Buenos_Aires","HST","Etc/GMT-1","Africa/Windhoek","Asia/Thimphu","Etc/GMT-9","Europe/Tallinn","Europe/Athens","Africa/Harare","America/Lima","Africa/El_Aaiun","Asia/Qostanay","Europe/Vilnius","Etc/GMT-5","America/Indiana/Petersburg","Pacific/Efate","Asia/Baku","America/Argentina/Rio_Gallegos","Australia/Broken_Hill","America/Monterrey","Asia/Shanghai","Africa/Kinshasa","CET","America/Kentucky/Monticello","US/Mountain","Libya","America/Godthab","Europe/Istanbul","Etc/GMT+8","Europe/Astrakhan","Asia/Hong_Kong","PST","Australia/Brisbane","Etc/GMT+1","VST","Australia/Darwin","Asia/Tbilisi","Asia/Anadyr","Etc/GMT0","Etc/GMT-10","Pacific/Truk","Africa/Johannesburg","Africa/Casablanca","America/Shiprock","Etc/GMT+2","America/Dawson","America/Regina","Africa/Timbuktu","America/Anchorage","America/Bahia_Banderas","America/Eirunepe","America/Argentina/Ushuaia","America/Curacao","America/Barbados","Pacific/Auckland","America/North_Dakota/Center","Antarctica/Troll","America/Recife","America/Punta_Arenas","Europe/Simferopol","Etc/Universal","CAT","Africa/Djibouti","PRC","America/Cayenne","America/Dominica","America/Scoresbysund","Asia/Atyrau","Africa/Maseru","Etc/GMT-6","Africa/Ouagadougou","America/Fort_Nelson","America/Jujuy","Europe/London","Atlantic/Faroe","Atlantic/Azores","Europe/Isle_of_Man","Asia/Aden","Pacific/Kanton","Asia/Macau","Pacific/Chuuk","Europe/Malta","Asia/Phnom_Penh","Asia/Vladivostok","America/Lower_Princes","Africa/Banjul","Asia/Kamchatka","America/Creston","Europe/Mariehamn","Canada/Eastern","EET","Pacific/Rarotonga","Africa/Ndjamena","America/Nome","SystemV/AST4ADT","Asia/Famagusta","America/Juneau","EST5EDT","Antarctica/Rothera","America/Port_of_Spain","Asia/Thimbu","Europe/Samara","Chile/EasterIsland","Canada/Central","Asia/Brunei","Africa/Niamey","Europe/Rome","Asia/Qyzylorda","Asia/Taipei","America/Marigot","Atlantic/Jan_Mayen","Brazil/Acre","Africa/Mbabane","Pacific/Marquesas","Africa/Douala","America/Rankin_Inlet","Indian/Christmas","America/Rio_Branco","America/Argentina/Buenos_Aires","Asia/Nicosia","Africa/Libreville","Etc/GMT-4","Europe/Sarajevo","Africa/Bissau","Asia/Kathmandu","America/Metlakatla","Australia/ACT","America/Argentina/Salta","Africa/Brazzaville","IST","Europe/Busingen","America/Indiana/Tell_City","Europe/Madrid","Europe/Berlin","ACT","America/Antigua","Africa/Nairobi","Pacific/Funafuti","America/Halifax","Asia/Novosibirsk","Antarctica/Syowa","Asia/Kashgar","Asia/Ulan_Bator","America/Guatemala","Pacific/Palau","Etc/GMT+7","America/Glace_Bay","America/Santarem","Atlantic/Canary","Pacific/Samoa","Asia/Baghdad","America/Argentina/La_Rioja","Asia/Kuching","Egypt","Australia/Sydney","Antarctica/McMurdo","America/Guayaquil","Asia/Hovd","Pacific/Noumea","Africa/Blantyre","Asia/Samarkand","Africa/Addis_Ababa","Europe/Monaco","Etc/GMT+3","Pacific/Honolulu","America/New_York","America/Indiana/Indianapolis","Etc/Zulu","America/Mendoza","Asia/Vientiane","Africa/Lusaka","Africa/Kampala","Poland","America/Detroit","Brazil/DeNoronha","Indian/Cocos","Pacific/Norfolk","Pacific/Wake","America/Cordoba","America/Blanc-Sablon","Pacific/Guadalcanal","Asia/Krasnoyarsk","Asia/Yerevan","Pacific/Niue","Europe/Belgrade","Pacific/Pitcairn","America/Asuncion","SystemV/CST6CDT","Turkey","America/Cuiaba","NET","Africa/Khartoum","Asia/Chongqing","Africa/Tunis","ROK","Europe/Helsinki","Asia/Damascus","Asia/Beirut","SystemV/PST8","Africa/Accra","Australia/Yancowinna","America/Kralendijk","America/Jamaica","Europe/Tiraspol","Africa/Ceuta","Europe/Ljubljana","America/St_Thomas","Indian/Mayotte","WET","America/Sao_Paulo","Europe/Andorra","CTT","Europe/Dublin","PLT","Antarctica/Mawson","Canada/Atlantic","Pacific/Kosrae","America/Ojinaga","America/Winnipeg","Europe/Chisinau","SystemV/HST10","Pacific/Kwajalein","Pacific/Fakaofo","America/Anguilla","Asia/Tehran","Australia/West","America/Noronha","Antarctica/Davis","Asia/Jerusalem","Etc/Greenwich","America/Indiana/Knox","Asia/Barnaul","Africa/Bujumbura","America/Moncton","Australia/South","America/Rainy_River","Pacific/Tarawa","Africa/Lubumbashi","SystemV/EST5","America/Danmarkshavn","America/Martinique","Europe/Stockholm","Hongkong","Australia/Queensland","Asia/Colombo","Asia/Qatar","MST7MDT","Canada/Pacific","Europe/Prague","Atlantic/Stanley","Brazil/East","Asia/Khandyga","PST8PDT","Etc/GMT+12","America/Nuuk","UTC","America/El_Salvador","America/Maceio","Pacific/Wallis","Europe/Podgorica","Zulu","Asia/Pyongyang","America/Grand_Turk","Atlantic/St_Helena","Europe/Oslo","Africa/Freetown","Africa/Luanda","GMT","AET","Africa/Lagos","America/Costa_Rica","Europe/Kyiv","SystemV/MST7","Asia/Kuala_Lumpur","Pacific/Easter","Indian/Antananarivo","America/Belize","America/Vancouver","Europe/Nicosia","Australia/Lord_Howe","Europe/Kaliningrad","EAT","Europe/Zurich","Asia/Bahrain","MET","Pacific/Pohnpei","Africa/Bangui","Asia/Manila","AST","Europe/Belfast","Etc/GMT-12","Pacific/Guam","GB-Eire","Chile/Continental","GMT0","Asia/Ust-Nera","Asia/Aqtau","Etc/GMT+10","Africa/Bamako","Australia/Adelaide","Europe/Saratov","America/Mexico_City","Europe/Vienna","America/Iqaluit","Canada/Yukon","Asia/Amman","America/Dawson_Creek","Arctic/Longyearbyen","America/Virgin","CST","Asia/Tomsk","Antarctica/Vostok","Asia/Kabul","America/Atka","Europe/Gibraltar","NZ","Mexico/BajaSur","America/Porto_Velho","Indian/Chagos","America/Thunder_Bay","Europe/Jersey","MIT","Iceland","America/St_Johns","Europe/Brussels","SystemV/AST4","Asia/Tel_Aviv","Pacific/Port_Moresby"],"example":"America/Chicago","type":"string"},"supportedLanguages":{"description":"Languages supported for notifications on this provider","example":["en-US","fr-CA"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"usePreferredLocale":{"description":"When true, date/time notification variables always use preferred-locale, regardless of content language. When false (default), they follow the content language: preferred-language for base content, or the translation's own language for translated content.","example":false,"type":"boolean"}},"required":["permissions"],"type":"object"},"site-mapped-devices.response":{"properties":{"building":{"$ref":"#/components/schemas/_api-devices.building","description":"Contains the name and ID of the Building the device is assigned to"},"buildingId":{"description":"The ID of the Building the device is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"capabilities":{"description":"Contains information about the device's capabilities, such as whether it can be grouped or receive notifications","example":{"canReceiveNotifications":false,"isGroupable":false},"format":"json","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this device belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_api-devices.floor","description":"Contains the name and ID of the Floor the device is assigned to"},"floorId":{"description":"The ID of the Floor the device is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the device","format":"uuid","type":"string"},"name":{"description":"The name of the device","example":"Vape Detector","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the device is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list devices whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"site":{"$ref":"#/components/schemas/_api-devices.site","description":"Contains the name and ID of the site the device is assigned to"},"siteId":{"description":"The ID of the Site the device is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"type":{"description":"The type of device","example":"api-device","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"zone":{"$ref":"#/components/schemas/_api-devices.zone","description":"Contains the name and ID of the zone the device is assigned to"},"zoneId":{"description":"The ID of the Zone the device is assigned to","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"site-roles.post-request":{"properties":{"isShared":{"description":"Denotes whether or not this site role is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the Site Role","example":"Administrators","maximum":140,"type":"string"}},"required":["name"],"type":"object"},"site-roles.put-request":{"properties":{"isShared":{"description":"Denotes whether or not this site role is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the Site Role","example":"Administrators","maximum":140,"type":"string"}},"required":[],"type":"object"},"site-roles.response":{"properties":{"associatedSites":{"$ref":"#/components/schemas/_site-roles.associated-sites","description":"A list of sites that have added this site role."},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"facilityId":{"description":"The ID of the facility this site role belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"id":{"description":"ID of the Site Role","format":"uuid","type":"string"},"isShared":{"description":"Denotes whether or not this site role is globally shared","example":true,"type":"boolean"},"name":{"description":"Name of the Site Role","example":"Administrators","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"site-roles_sites.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID of the Site Role Site","format":"uuid","type":"string"},"name":{"description":"The name of the site associated with this site role","example":"East Campus - Security","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteRecipientId":{"description":"Identifies this association of a site with a site role","format":"uuid","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"sites-management.post-request":{"properties":{"action":{"description":"Management action to perform","enum":["import","unlink-sources","import-by-external-id","update-by-external-id"],"example":"unlink-sources","type":"string"},"externalSites":{"description":"External sites to import, update, or unlink (if unlinking sources by external-id)","example":"[{\"name\": \"external-site\", \"source\": \"kontaktio-wearable-panic-button\", \"externalId\": \"e5ca6e72-018d-11ef-9a79-f70ca05b7fe9\"}]","format":"json","type":"string"},"sources":{"description":"Sources to unlink, if unlinking sources","example":"[\"kontaktio-wearable-panic-button\"]","format":"json","type":"string"}},"required":["action"],"type":"object"},"sites.post-request":{"properties":{"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"},"recipients":{"$ref":"#/components/schemas/_sites-recipients_request","description":"Sites recipients provide a way to define recipients for a given site and site role. For example, if you want the “Students” site role of the “West Campus” site to be sent to a specific distribution list or other recipient, you can define it using this resource. "},"sources":{"deprecated":true,"description":"Sources the site is associated with. Deprecated: Use Site Building External Sources instead.","format":"json","type":"string"}},"required":["name"],"type":"object"},"sites.put-request":{"properties":{"name":{"description":"Name of the Site","example":"UW-Madison","maximum":255,"type":"string"},"recipients":{"$ref":"#/components/schemas/_sites-recipients_request","description":"Sites recipients provide a way to define recipients for a given site and site role. For example, if you want the “Students” site role of the “West Campus” site to be sent to a specific distribution list or other recipient, you can define it using this resource. "},"sources":{"deprecated":true,"description":"Sources the site is associated with. Deprecated: Use Site Building External Sources instead.","format":"json","type":"string"}},"required":[],"type":"object"},"sites_buildings.post-request":{"properties":{"acceptRapidSosEula":{"description":"If `true`, attests that this user is accepting the end-user license agreement for RapidSOS services; This must be done by one user before a building can be configured with `emergency` set to `true`<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"addressLine1":{"description":"Address of the building - first line","example":"8422 Old Sauk Road","maximum":200,"type":"string"},"addressLine2":{"description":"Address of the building - second line","example":"Suite 100","maximum":200,"type":"string"},"city":{"description":"City the building is in","example":"Madison","maximum":60,"type":"string"},"country":{"description":"Country the building is in","example":"United States","maximum":60,"type":"string"},"emergency":{"description":"Whether this building is an emergency building (note: this can only be set for existing buildings, and cannot be used in the intial POST that creates one)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":false,"type":"boolean"},"groundFloorId":{"description":"ID of the floor representing the ground floor. Must be set when the building has one or more floors.","example":"b0d74d30-5933-11f1-a127-1d7cc2c0e2e5","format":"uuid","type":"string"},"latitude":{"description":"Latitude of the building","format":"double","type":"number"},"longitude":{"description":"Longitude of the building","format":"double","type":"number"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"},"postalCode":{"description":"Postal code of the building","example":"53717-4367","maximum":40,"type":"string"},"primaryPhone":{"description":"Primary phone number associated with the building","example":"+15558675309","maximum":40,"type":"string"},"siteId":{"description":"ID of the site to which this building belongs","format":"uuid","type":"string"},"skipAddressValidation":{"description":"Skip address validation if the google maps lookup is problematic","type":"boolean"},"state":{"description":"State the building is in","example":"Wisconsin","maximum":60,"type":"string"}},"required":["siteId","name"],"type":"object"},"sites_buildings.put-request":{"properties":{"acceptRapidSosEula":{"description":"If `true`, attests that this user is accepting the end-user license agreement for RapidSOS services; This must be done by one user before a building can be configured with `emergency` set to `true`<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","type":"boolean"},"addressLine1":{"description":"Address of the building - first line","example":"8422 Old Sauk Road","maximum":200,"type":"string"},"addressLine2":{"description":"Address of the building - second line","example":"Suite 100","maximum":200,"type":"string"},"city":{"description":"City the building is in","example":"Madison","maximum":60,"type":"string"},"country":{"description":"Country the building is in","example":"United States","maximum":60,"type":"string"},"emergency":{"description":"Whether this building is an emergency building (note: this can only be set for existing buildings, and cannot be used in the intial POST that creates one)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":false,"type":"boolean"},"groundFloorId":{"description":"ID of the floor representing the ground floor. Must be set when the building has one or more floors.","example":"b0d74d30-5933-11f1-a127-1d7cc2c0e2e5","format":"uuid","type":"string"},"latitude":{"description":"Latitude of the building","format":"double","type":"number"},"longitude":{"description":"Longitude of the building","format":"double","type":"number"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"},"postalCode":{"description":"Postal code of the building","example":"53717-4367","maximum":40,"type":"string"},"primaryPhone":{"description":"Primary phone number associated with the building","example":"+15558675309","maximum":40,"type":"string"},"siteId":{"description":"ID of the site to which this building belongs","format":"uuid","type":"string"},"skipAddressValidation":{"description":"Skip address validation if the google maps lookup is problematic","type":"boolean"},"state":{"description":"State the building is in","example":"Wisconsin","maximum":60,"type":"string"}},"required":[],"type":"object"},"sites_buildings.response":{"properties":{"addressLine1":{"description":"Address of the building - first line","example":"8422 Old Sauk Road","maximum":200,"type":"string"},"addressLine2":{"description":"Address of the building - second line","example":"Suite 100","maximum":200,"type":"string"},"boundary":{"description":"Boundary of the building, computed as the union of all of the building's floor boundaries.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"city":{"description":"City the building is in","example":"Madison","maximum":60,"type":"string"},"country":{"description":"Country the building is in","example":"United States","maximum":60,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"emergency":{"description":"Whether this building is an emergency building (note: this can only be set for existing buildings, and cannot be used in the intial POST that creates one)<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":false,"type":"boolean"},"groundFloorId":{"description":"ID of the floor representing the ground floor. Must be set when the building has one or more floors.","example":"b0d74d30-5933-11f1-a127-1d7cc2c0e2e5","format":"uuid","type":"string"},"groundFloorImageOrigins":{"description":"The geometry property of a GeoJSON MultiPoint object containing two points, representing the lower-left and upper-right placement of the ground floor's plan image on a map. Only present when includeGroundFloorBinaryUrls is set.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"groundFloorPlanImageFiles":{"description":"Binary image data for the ground floor's floor plan image, including signed CloudFront URLs. Only present when includeGroundFloorBinaryUrls is set.<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","items":{"format":"json","type":"string"},"type":"array","uniqueItems":true},"id":{"description":"ID of the site building record","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"latitude":{"description":"Latitude of the building","format":"double","type":"number"},"longitude":{"description":"Longitude of the building","format":"double","type":"number"},"name":{"description":"Name of the building","example":"Chipotle","maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"postalCode":{"description":"Postal code of the building","example":"53717-4367","maximum":40,"type":"string"},"primaryPhone":{"description":"Primary phone number associated with the building","example":"+15558675309","maximum":40,"type":"string"},"siteId":{"description":"ID of the site to which this building belongs","format":"uuid","type":"string"},"siteName":{"description":"The name of the site to which this building belongs","type":"string"},"state":{"description":"State the building is in","example":"Wisconsin","maximum":60,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"sites_buildings_external-sources.response":{"properties":{"buildingId":{"description":"The ID of the building corresponding to this external source","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"External ID of the site building record","format":"uuid","type":"string"},"externalSiteId":{"description":"External ID of the site record","format":"uuid","type":"string"},"id":{"description":"ID of the external site building source","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteId":{"description":"ID of the site record","format":"uuid","type":"string"},"source":{"description":"The external site building source type","example":"zoom","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"sites_buildings_floors.post-request":{"properties":{"boundary":{"description":"The geometry property of a GeoJSON Polygon object containing a single polygon, representing\n                           the outer boundary of the floor plan. Requires imageOrigins<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"buildingId":{"description":"ID of the site building to assign to this site floor","format":"uuid","type":"string"},"floorPlanImage":{"description":"A JPG/JPEG, PNG, or GeoTIFF file of up to 20mb. Non-GeoTIFF images will also require imageOrigins to be provided<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"binary","type":"string"},"imageOrigins":{"description":"The geometry property of a GeoJSON MultiPoint object containing two points, representing the\n                           lower-left and upper-right placement of the image on a map; requires floorPlanImage<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"},"siteId":{"description":"ID of the site to assign to this site floor","format":"uuid","type":"string"},"type":{"description":"The type of floor; maximum of 4 characters","example":"FL","maximum":4,"type":"string"}},"required":["siteId","buildingId","name"],"type":"object"},"sites_buildings_floors.put-request":{"properties":{"boundary":{"description":"The geometry property of a GeoJSON Polygon object containing a single polygon, representing\n                           the outer boundary of the floor plan. Requires imageOrigins<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"buildingId":{"description":"ID of the site building to assign to this site floor","format":"uuid","type":"string"},"floorPlanImage":{"description":"A JPG/JPEG, PNG, or GeoTIFF file of up to 20mb. Non-GeoTIFF images will also require imageOrigins to be provided<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"binary","type":"string"},"imageOrigins":{"description":"The geometry property of a GeoJSON MultiPoint object containing two points, representing the\n                           lower-left and upper-right placement of the image on a map; requires floorPlanImage<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"},"siteId":{"description":"ID of the site to assign to this site floor","format":"uuid","type":"string"},"type":{"description":"The type of floor; maximum of 4 characters","example":"FL","maximum":4,"type":"string"}},"required":[],"type":"object"},"sites_buildings_floors.response":{"properties":{"boundary":{"description":"The geometry property of a GeoJSON Polygon object containing a single polygon, representing\n                           the outer boundary of the floor plan. Requires imageOrigins<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"buildingId":{"description":"ID of the site building to assign to this site floor","format":"uuid","type":"string"},"buildingName":{"description":"The name of the building to which this floor belongs","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"floorPlanImage":{"description":"A JPG/JPEG, PNG, or GeoTIFF file of up to 20mb. Non-GeoTIFF images will also require imageOrigins to be provided<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"binary","type":"string"},"floorPlanImageFiles":{"description":"Binary image data representing floor plan images, optionally including CloudFront URLs\n                            depending on the value of :include-binary-urls<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","items":{"format":"json","type":"string"},"type":"array","uniqueItems":true},"id":{"description":"ID of the site building floor record","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"imageOrigins":{"description":"The geometry property of a GeoJSON MultiPoint object containing two points, representing the\n                           lower-left and upper-right placement of the image on a map; requires floorPlanImage<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"name":{"description":"The site building floor’s unique name. Maximum of 140 characters.","example":"Floor 10","maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteId":{"description":"ID of the site to assign to this site floor","format":"uuid","type":"string"},"siteName":{"description":"The name of the site to which this floor belongs, present only when the `includeParentNames` query parameter was `true`.","type":"string"},"type":{"description":"The type of floor; maximum of 4 characters","example":"FL","maximum":4,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"sites_buildings_floors_external-sources.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"External ID of the site building floor record","format":"uuid","type":"string"},"id":{"description":"ID of the external site building floor source","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"source":{"description":"The external site building floor source type","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"sites_buildings_floors_zones.post-request":{"properties":{"boundary":{"description":"Geographic coordinates representing the corners of the zone's boundary shaped like the\n                             GeoJSON spec's geometry property<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"buildingId":{"description":"ID of the site building to assign to this zone","format":"uuid","type":"string"},"floorId":{"description":"ID of the site building floor to assign to this zone","format":"uuid","type":"string"},"isOutdoor":{"description":"Indicates whether the room/zone within a building is outdoor (e.g. courtyard)","type":"boolean"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"},"siteId":{"description":"ID of the site to assign to this zone","format":"uuid","type":"string"},"type":{"description":"Type of the Site Room/Zone record; maximum of 4 characters","example":"APT","maximum":4,"type":"string"}},"required":["siteId","buildingId","floorId","name"],"type":"object"},"sites_buildings_floors_zones.put-request":{"properties":{"boundary":{"description":"Geographic coordinates representing the corners of the zone's boundary shaped like the\n                             GeoJSON spec's geometry property<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"buildingId":{"description":"ID of the site building to assign to this zone","format":"uuid","type":"string"},"floorId":{"description":"ID of the site building floor to assign to this zone","format":"uuid","type":"string"},"isOutdoor":{"description":"Indicates whether the room/zone within a building is outdoor (e.g. courtyard)","type":"boolean"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"},"siteId":{"description":"ID of the site to assign to this zone","format":"uuid","type":"string"},"type":{"description":"Type of the Site Room/Zone record; maximum of 4 characters","example":"APT","maximum":4,"type":"string"}},"required":[],"type":"object"},"sites_buildings_floors_zones.response":{"properties":{"boundary":{"description":"Geographic coordinates representing the corners of the zone's boundary shaped like the\n                             GeoJSON spec's geometry property<br>_Accessing this feature requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","format":"json","type":"string"},"buildingId":{"description":"ID of the site building to assign to this zone","format":"uuid","type":"string"},"buildingName":{"description":"The name of the building to which this zone belongs","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"floorId":{"description":"ID of the site building floor to assign to this zone","format":"uuid","type":"string"},"floorName":{"description":"The name of the floor to which this zone belongs","type":"string"},"id":{"description":"ID of the Site Room/Zone record","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"},"isOutdoor":{"description":"Indicates whether the room/zone within a building is outdoor (e.g. courtyard)","type":"boolean"},"name":{"description":"Name of the Site Room/Zone record","example":"Zone 123","maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteId":{"description":"ID of the site to assign to this zone","format":"uuid","type":"string"},"siteName":{"description":"The name of the site to which this zone belongs","type":"string"},"type":{"description":"Type of the Site Room/Zone record; maximum of 4 characters","example":"APT","maximum":4,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"sites_buildings_floors_zones_external-sources.response":{"properties":{"buildingId":{"description":"ID of the building record","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"External ID of the site building floor zone record","format":"uuid","type":"string"},"externalSiteBuildingFloorId":{"description":"External ID of the site building floor record","format":"uuid","type":"string"},"floorId":{"description":"ID of the floor record","format":"uuid","type":"string"},"id":{"description":"ID of the external site building floor zone source","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteId":{"description":"ID of the site record","format":"uuid","type":"string"},"source":{"description":"The external site building floor zone source type","example":"zoom","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"zoneId":{"description":"ID of the zone corresponding to this external source","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"sites_buildings_reorder-floors.request":{"properties":{"floors":{"description":"The IDs of all floors in the order they should appear","example":["18b63b39-0f40-4000-8109-14428af94401","c97ecd00-9a3d-451f-b39c-a098ea337fac"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"sites_buildings_reorder-floors.response":{"properties":{"floors":{"description":"The IDs of all floors in the order they should appear","example":["18b63b39-0f40-4000-8109-14428af94401","c97ecd00-9a3d-451f-b39c-a098ea337fac"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"sites_external-sources.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"External ID of the site record","format":"uuid","type":"string"},"id":{"description":"ID of the external site source","format":"uuid","type":"string"},"name":{"description":"The name of the external site","example":"Moon Base","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"source":{"description":"The external site source type","example":"zoom","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"sites_recipients.post-request":{"properties":{"areaOfInterestIds":{"description":"IDs of Areas of Interest associated with this site through this site role","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIds":{"description":"IDs of collaboration groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIds":{"description":"IDs of Device Groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"IDs of Distribution Lists associated with this site through this site role","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"siteRoleId":{"description":"ID of the site role to associate recipients with this site","format":"uuid","type":"string"},"userIds":{"description":"IDs of Users associated with this site through this site role","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["siteRoleId"],"type":"object"},"sites_recipients.put-request":{"properties":{"areaOfInterestIds":{"description":"IDs of Areas of Interest associated with this site through this site role","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroupIds":{"description":"IDs of collaboration groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroupIds":{"description":"IDs of Device Groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionListIds":{"description":"IDs of Distribution Lists associated with this site through this site role","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"siteRoleId":{"description":"ID of the site role to associate recipients with this site","format":"uuid","type":"string"},"userIds":{"description":"IDs of Users associated with this site through this site role","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"sites_recipients.response":{"properties":{"areaOfInterestIds":{"description":"IDs of Areas of Interest associated with this site through this site role","example":["8145ebd1-7a8b-11ee-bc97-098b09a637c2"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"areasOfInterest":{"description":"Areas of Interest associated with this site through this site role","items":{"$ref":"#/components/schemas/areas-of-interest.response"},"type":"array"},"collaborationGroupIds":{"description":"IDs of collaboration groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"collaborationGroups":{"description":"Collaboration groups associated with this site through this site role","example":[],"items":{"$ref":"#/components/schemas/_collaboration-groups-response"},"type":"array"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceGroupIds":{"description":"IDs of Device Groups associated with this site through this site role","example":[],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"deviceGroups":{"description":"Device groups associated with this site through this site role","example":[],"items":{"$ref":"#/components/schemas/_device-groups-response"},"type":"array"},"distributionListIds":{"description":"IDs of Distribution Lists associated with this site through this site role","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"distributionLists":{"description":"Distribution lists associated with this site through this site role","items":{"$ref":"#/components/schemas/distribution-lists.response"},"type":"array"},"id":{"description":"ID of the site recipient record","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteRoleId":{"description":"ID of the site role to associate recipients with this site","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userIds":{"description":"IDs of Users associated with this site through this site role","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"users":{"description":"Users associated with this site through this site role","items":{"$ref":"#/components/schemas/users.response"},"type":"array"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"supervisors.post-request":{"properties":{"appEui":{"description":"The Supervisors's app EUI","example":"0000000000000001","maximum":16,"minimum":16,"type":"string"},"appKey":{"description":"The Supervisors's app key","example":"ae4e4470e68a4fbd941b77ec0018cfba","maximum":32,"minimum":32,"type":"string"},"blePassword":{"description":"The Supervisor's BLE Password","example":"be4e4470e68a4fbd941b77ec0018cfbb","maximum":32,"minimum":8,"type":"string"},"buildingId":{"description":"The ID of the Building the Supervisor is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"eui":{"description":"The Supervisors's device EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"floorId":{"description":"The ID of the Floor the Supervisor is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Supervisor is currently decommissioned","example":true,"type":"boolean"},"model":{"description":"The Supervisor's model","enum":["Moko_LW003B","Moko_LW003_Ultra"],"example":"Moko_LW003B","type":"string"},"name":{"description":"The name of the Supervisor","example":"Primary iBeacon Supervisor","maximum":140,"minimum":3,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Supervisor is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Supervisors whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"salt":{"description":"A Moko provisioning salt used to derive the BLE Password. Provide this instead of a BLE Password when creating a Moko device (create only); the BLE Password is computed and stored from the device's MAC address and this salt. Exactly one of BLE Password or salt is required.","example":"8d6e1f0a2b3c4d5e","maximum":10000,"type":"string"},"siteId":{"description":"The ID of the Site the Supervisor is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the Supervisor is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["name","eui","appKey","appEui","model"],"type":"object"},"supervisors.put-request":{"properties":{"appEui":{"description":"The Supervisors's app EUI","example":"0000000000000001","maximum":16,"minimum":16,"type":"string"},"appKey":{"description":"The Supervisors's app key","example":"ae4e4470e68a4fbd941b77ec0018cfba","maximum":32,"minimum":32,"type":"string"},"blePassword":{"description":"The Supervisor's BLE Password","example":"be4e4470e68a4fbd941b77ec0018cfbb","maximum":32,"minimum":8,"type":"string"},"buildingId":{"description":"The ID of the Building the Supervisor is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"eui":{"description":"The Supervisors's device EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"floorId":{"description":"The ID of the Floor the Supervisor is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Supervisor is currently decommissioned","example":true,"type":"boolean"},"model":{"description":"The Supervisor's model","enum":["Moko_LW003B","Moko_LW003_Ultra"],"example":"Moko_LW003B","type":"string"},"name":{"description":"The name of the Supervisor","example":"Primary iBeacon Supervisor","maximum":140,"minimum":3,"type":"string"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Supervisor is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Supervisors whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"siteId":{"description":"The ID of the Site the Supervisor is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"zoneId":{"description":"The ID of the Zone the Supervisor is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":[],"type":"object"},"supervisors.response":{"properties":{"appEui":{"description":"The Supervisors's app EUI","example":"0000000000000001","maximum":16,"minimum":16,"type":"string"},"building":{"$ref":"#/components/schemas/_supervisors.building","description":"Contains the name, ID, and type of the building to which this Supervisor belongs"},"buildingId":{"description":"The ID of the Building the Supervisor is assigned to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"The time the Supervisor was created","format":"date-time","type":"string"},"eui":{"description":"The Supervisors's device EUI","example":"0205f041c8e3e647","maximum":16,"minimum":16,"type":"string"},"facilityId":{"description":"The ID of the facility this Supervisor belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"floor":{"$ref":"#/components/schemas/_supervisors.floor","description":"Contains the name and ID of the floor to which this Supervisor belongs"},"floorId":{"description":"The ID of the Floor the Supervisor is assigned to","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the Supervisor","format":"uuid","type":"string"},"isDecommissioned":{"description":"Whether the Supervisor is currently decommissioned","example":true,"type":"boolean"},"isOutdoorModel":{"description":"Whether the Supervisor's model is only compatible with outdoor zones.","example":true,"type":"boolean"},"model":{"description":"The Supervisor's model","enum":["Moko_LW003B","Moko_LW003_Ultra"],"example":"Moko_LW003B","type":"string"},"name":{"description":"The name of the Supervisor","example":"Primary iBeacon Supervisor","maximum":140,"minimum":3,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pinnedLocation":{"description":"A GeoJSON Point representing the location to which the Supervisor is pinned. Can be filtered with pinnedLocation__within=<GeoJSON Polygon> to list Supervisors whose pinned location falls within that Polygon, or with pinnedLocation=<GeoJSON Point> to match a pin exactly.","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"site":{"$ref":"#/components/schemas/_supervisors.site","description":"Contains the name and ID of the site to which this Supervisor belongs"},"siteId":{"description":"The ID of the Site the Supervisor is assigned to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"The last time the Supervisor was updated","format":"date-time","type":"string"},"zone":{"$ref":"#/components/schemas/_supervisors.zone","description":"Contains the name, ID, and outdoor flag of the zone to which this Supervisor belongs"},"zoneId":{"description":"The ID of the Zone the Supervisor is assigned to. When pinned-location is set, any value sent by the client is ignored and this parameter will be set by the server to the zone whose boundary contains the pinned-location, or null if pinned outside any zone.","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"supervisors_decommission.request":{"properties":{},"required":[],"type":"object"},"supervisors_downlink-messages.request":{"properties":{},"required":[],"type":"object"},"supervisors_downlink-messages.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"supervisors_recommission.request":{"properties":{},"required":[],"type":"object"},"supervisors_reset.request":{"properties":{},"required":[],"type":"object"},"supervisors_swap.post-request":{"properties":{"deleteSource":{"description":"Whether to delete the source Supervisor after swapping instead of keeping it renamed to '<eui> - Reset' (suffixed with ' (2)', ' (3)', etc. when that name is already taken). Restricted to support, internal, and Singlewire contractor users. Defaults to false.","example":false,"type":"boolean"},"replacementId":{"description":"The ID of the Supervisor to swap in as the replacement.","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"transferLocation":{"description":"Whether to copy the source Supervisor's pinned location onto the replacement. Defaults to true.","example":true,"type":"boolean"},"transferName":{"description":"Whether to copy the source Supervisor's name onto the replacement. Defaults to true.","example":true,"type":"boolean"}},"required":["replacementId"],"type":"object"},"system-health-events.response":{"properties":{"alarmId":{"description":"The id of the associated alarm.","format":"uuid","type":"string"},"alarmIds":{"description":"The set of alarms to list events from","items":{"format":"uuid","type":"string"},"type":"array","uniqueItems":true},"createdAt":{"description":"The time/date the event was triggered","format":"date-time","type":"string"},"endpointId":{"description":"The id of the endpoint that caused the alarm being triggered.","format":"uuid","type":"string"},"endpointName":{"description":"The name of the endpoint that caused the alarm to be triggered. If the endpoint has been deleted, returns null.","example":"SW-Fusion-Server","format":"uuid","type":"string"},"event":{"description":"The metadata that holds the details that caused this event.","example":"{\"scenarioId\":\"3dc82fa2-cb47-11ee-b671-4feae355d2b6\",\n \"timestamp\":\"2024-02-14T14:41:43+0000\",\n \"externalId\":\"101.101.101.10\",\n \"reasons\":[\"InformaCast REST Api Unavailable\"]}","format":"json","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reasons":{"description":"Describes the reason the alarm was triggered and includes the error received from the associated Fusion Server.","example":["InformaCast REST Api Unavailable"],"items":{"type":"string"},"type":"array","uniqueItems":true},"status":{"description":"The status of the associated alarm this event triggered, one of “ACTIVE” or “OK”.","example":"ACTIVE","maximum":10000,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"tracking-event-notifications.post-request":{"properties":{"distributionListIds":{"description":"When specified, this notification will be sent to any users associated with these distribution lists","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"geometryType":{"description":"GeoJSON geometry type","enum":["point"],"example":"point","type":"string"},"geometryValue":{"description":"The geojson feature object","example":{"geometry":{"coordinates":[-89.3412,43.1471],"type":"point"},"type":"feature"},"properties":{"geometry":{"description":"Definition of the point.","properties":{"coordinates":{"description":"An array with a longitude (first) and latitude (second) representing the location of the point","example":[-89.3412,43.1471],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature.","enum":["point"],"example":"point","type":"string"}},"type":"object"},"type":{"description":"The type of geojson object.","enum":["feature"],"example":"feature","type":"string"}},"type":"object"},"latLonIgnore":{"description":"By default, notifications are sorted based on their distance from the location specified by latitude and longitude. However, when `latLonIgnore` is set to `true`, the distance for all notifications is ignored, ensuring that they are not sorted based on proximity to the location.","example":false,"type":"boolean"},"messageTemplateId":{"description":"Message template to use if a notification is to be sent out. Note, this message template must have recipients (Distribution Lists or Users) built into it","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The name of the tracking event notification","example":"Pizza delivery","maximum":140,"type":"string"},"userIds":{"description":"When specified, if a user in this list requests being tracked, this tracking event notification will be sent out","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["name","latLonIgnore","geometryType"],"type":"object"},"tracking-event-notifications.put-request":{"properties":{"distributionListIds":{"description":"When specified, this notification will be sent to any users associated with these distribution lists","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"geometryType":{"description":"GeoJSON geometry type","enum":["point"],"example":"point","type":"string"},"geometryValue":{"description":"The geojson feature object","example":{"geometry":{"coordinates":[-89.3412,43.1471],"type":"point"},"type":"feature"},"properties":{"geometry":{"description":"Definition of the point.","properties":{"coordinates":{"description":"An array with a longitude (first) and latitude (second) representing the location of the point","example":[-89.3412,43.1471],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature.","enum":["point"],"example":"point","type":"string"}},"type":"object"},"type":{"description":"The type of geojson object.","enum":["feature"],"example":"feature","type":"string"}},"type":"object"},"latLonIgnore":{"description":"By default, notifications are sorted based on their distance from the location specified by latitude and longitude. However, when `latLonIgnore` is set to `true`, the distance for all notifications is ignored, ensuring that they are not sorted based on proximity to the location.","example":false,"type":"boolean"},"messageTemplateId":{"description":"Message template to use if a notification is to be sent out. Note, this message template must have recipients (Distribution Lists or Users) built into it","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The name of the tracking event notification","example":"Pizza delivery","maximum":140,"type":"string"},"userIds":{"description":"When specified, if a user in this list requests being tracked, this tracking event notification will be sent out","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"tracking-event-notifications.response":{"properties":{"createdAt":{"description":"When the tracking event notification was created","format":"date-time","type":"string"},"distributionListIds":{"description":"When specified, this notification will be sent to any users associated with these distribution lists","example":["4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"geometryType":{"description":"GeoJSON geometry type","enum":["point"],"example":"point","type":"string"},"geometryValue":{"description":"The geojson feature object","example":{"geometry":{"coordinates":[-89.3412,43.1471],"type":"point"},"type":"feature"},"properties":{"geometry":{"description":"Definition of the point.","properties":{"coordinates":{"description":"An array with a longitude (first) and latitude (second) representing the location of the point","example":[-89.3412,43.1471],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature.","enum":["point"],"example":"point","type":"string"}},"type":"object"},"type":{"description":"The type of geojson object.","enum":["feature"],"example":"feature","type":"string"}},"type":"object"},"id":{"description":"The id of the tracking event notification<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","format":"uuid","type":"string"},"latLonIgnore":{"description":"By default, notifications are sorted based on their distance from the location specified by latitude and longitude. However, when `latLonIgnore` is set to `true`, the distance for all notifications is ignored, ensuring that they are not sorted based on proximity to the location.","example":false,"type":"boolean"},"messageTemplate":{"$ref":"#/components/schemas/_message-templates.response","description":"The message template associated with this tracking event notification"},"messageTemplateId":{"description":"Message template to use if a notification is to be sent out. Note, this message template must have recipients (Distribution Lists or Users) built into it","example":"d2d02884-7ceb-11ee-9061-050e02dd61f4","format":"uuid","type":"string"},"name":{"description":"The name of the tracking event notification","example":"Pizza delivery","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"A timestamp representing the last time the tracking event notification was updated","format":"date-time","type":"string"},"userIds":{"description":"When specified, if a user in this list requests being tracked, this tracking event notification will be sent out","example":["ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"tracking-events.post-request":{"properties":{"completedAt":{"description":"Time the tracking event's state was changed to completed","format":"date-time","type":"string"},"deviceId":{"description":"ID of a device to track. Used when device initiates tracking event","example":"e950196f-6f12-47b9-9c5f-e0708d2bfa06","format":"uuid","type":"string"},"initiatorId":{"description":"ID of the initiating user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"Name of the Tracking Event","example":"Chemical Spill","maximum":140,"type":"string"},"notificationId":{"description":"ID of the notification when initiated by a confirmation response. Note that not supplying this value will not list this tracking event in the admin webapp.","format":"uuid","type":"string"},"state":{"description":"The state of this event","enum":["active","completed"],"example":"active","type":"string"}},"required":["name","state"],"type":"object"},"tracking-events.put-request":{"properties":{"completedAt":{"description":"Time the tracking event's state was changed to completed","format":"date-time","type":"string"},"deviceId":{"description":"ID of a device to track. Used when device initiates tracking event","example":"e950196f-6f12-47b9-9c5f-e0708d2bfa06","format":"uuid","type":"string"},"initiatorId":{"description":"ID of the initiating user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"Name of the Tracking Event","example":"Chemical Spill","maximum":140,"type":"string"},"notificationId":{"description":"ID of the notification when initiated by a confirmation response. Note that not supplying this value will not list this tracking event in the admin webapp.","format":"uuid","type":"string"},"state":{"description":"The state of this event","enum":["active","completed"],"example":"active","type":"string"}},"required":[],"type":"object"},"tracking-events.response":{"properties":{"completedAt":{"description":"Time the tracking event's state was changed to completed","format":"date-time","type":"string"},"confirmationRequest":{"$ref":"#/components/schemas/_tracking-events.confirmation-request","description":"The confirmation request with an option to initiate tracking"},"createdAt":{"description":"When the Tracking Event was created","format":"date-time","type":"string"},"deviceId":{"description":"ID of a device to track. Used when device initiates tracking event","example":"e950196f-6f12-47b9-9c5f-e0708d2bfa06","format":"uuid","type":"string"},"id":{"description":"ID of the Tracking Event","format":"uuid","type":"string"},"initiator":{"$ref":"#/components/schemas/_tracking-events.initiator","description":"Information about the initiating user"},"initiatorId":{"description":"ID of the initiating user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"Name of the Tracking Event","example":"Chemical Spill","maximum":140,"type":"string"},"notificationId":{"description":"ID of the notification when initiated by a confirmation response. Note that not supplying this value will not list this tracking event in the admin webapp.","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"scenario":{"$ref":"#/components/schemas/_tracking-events.scenario","description":"The scenario associated with the tracking event"},"state":{"description":"The state of this event","enum":["active","completed"],"example":"active","type":"string"},"summary":{"description":"The summary of confirmation request responses","items":{"properties":{"device-id":{"description":"The ID of the device making the confirmation request","example":"e950196f-6f12-47b9-9c5f-e0708d2bfa06","format":"uuid","type":"string"},"lat":{"description":"The user's latitude","example":41.235,"type":"double"},"long":{"description":"The user's longitude","example":73.893,"type":"double"},"most-recent":{"description":"The time the most recent tracking event was created","example":"2024-03-14T18:10:10.023Z","format":"date-time","type":"string"},"phone-number":{"description":"The user's phone number","example":"4145558081","type":"string"},"state":{"description":"The state of this activity entry.","example":"Completed","type":"string"},"user-id":{"description":"The ID of the user responding to the confirmation request","format":"uuid","type":"string"},"user-name":{"description":"The user's username","example":"fusion_user_23","type":"string"}},"type":"object"},"type":"array"},"updatedAt":{"description":"The last timestamp the Tracking Event was updated at","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"tracking-events_activities.post-request":{"properties":{"deviceId":{"description":"The ID of the device in IcMobile","example":"ed612784-ab29-11ee-a6b4-5f9820659170","format":"uuid","type":"string"},"geometryType":{"description":"Geometry of area, describes the type of geometry indicated by `geometryValue`","enum":["point"],"example":"point","type":"string"},"geometryValue":{"description":"The geojson feature object, a spatially bounded entity with its own set of properties. Required when the activity state is not `terminated` or `logged-out`.","example":{"geometry":{"coordinates":[-89.3412,43.1471],"type":"point"},"properties":{"accuracyInM":250,"bearing":90.0,"speedInMetersPerSec":35.0},"type":"feature"},"properties":{"geometry":{"description":"Definition of the point","properties":{"coordinates":{"description":"Longitude and Latitude of the point. Required when the activity state is not `terminated` or `logged-out`.","example":[-89.3412,43.1471],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature, represents the geolocation of the device reporting the activity. Required when the activity state is not `terminated` or `logged-out`.","enum":["point"],"example":"point","type":"string"}},"type":"object"},"properties":{"description":"The properties of the activity.","properties":{"accuracyInM":{"description":"The accuracy of the device's calculated location in meters. Fractional values are rounded to the nearest integer (ties to even). Required when the activity state is not `terminated` or `logged-out`.","example":250,"maximum":20000,"minimum":0,"type":"integer"},"bearing":{"description":"Direction/bearing the device appears to be heading. 0 equals North. Required when the activity state is not `terminated` or `logged-out`.","example":90.0,"format":"double","maximum":360.0,"minimum":0.0,"type":"number"},"speedInMetersPerSec":{"description":"Speed the device is moving in meters per second. Required when the activity state is not `terminated` or `logged-out`.","example":35.0,"format":"double","maximum":1000.0,"minimum":0.0,"type":"number"}},"type":"object"},"type":{"description":"The type of geojson object. Required when the activity state is not `terminated` or `logged-out`.","enum":["feature"],"example":"feature","type":"string"}},"type":"object"},"pollingIntervalSecs":{"description":"Polling interval to the next activity entry in seconds. Required when the activity state is not `terminated` or `logged-out`.","example":55,"type":"integer"},"state":{"description":"The state of this activity entry: `started` - first registered location for a device when a tracking event starts, `updated` - new location information for a device with an existing tracking event, `terminated` - set by admin when terminating individual device's location services","enum":["started","updated","completed","permission-denied","terminated","logged-out"],"example":"started","type":"string"},"trackingEventId":{"description":"The ID of the associated `trackingEvent`","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"userId":{"description":"ID of the user who performed the activity","example":"2da49d5a-7e6a-11ee-8731-4f79b4af6db7","format":"uuid","type":"string"}},"required":["userId","deviceId","state","trackingEventId"],"type":"object"},"tracking-events_activities.put-request":{"properties":{"deviceId":{"description":"The ID of the device in IcMobile","example":"ed612784-ab29-11ee-a6b4-5f9820659170","format":"uuid","type":"string"},"geometryType":{"description":"Geometry of area, describes the type of geometry indicated by `geometryValue`","enum":["point"],"example":"point","type":"string"},"geometryValue":{"description":"The geojson feature object, a spatially bounded entity with its own set of properties. Required when the activity state is not `terminated` or `logged-out`.","example":{"geometry":{"coordinates":[-89.3412,43.1471],"type":"point"},"properties":{"accuracyInM":250,"bearing":90.0,"speedInMetersPerSec":35.0},"type":"feature"},"properties":{"geometry":{"description":"Definition of the point","properties":{"coordinates":{"description":"Longitude and Latitude of the point. Required when the activity state is not `terminated` or `logged-out`.","example":[-89.3412,43.1471],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature, represents the geolocation of the device reporting the activity. Required when the activity state is not `terminated` or `logged-out`.","enum":["point"],"example":"point","type":"string"}},"type":"object"},"properties":{"description":"The properties of the activity.","properties":{"accuracyInM":{"description":"The accuracy of the device's calculated location in meters. Fractional values are rounded to the nearest integer (ties to even). Required when the activity state is not `terminated` or `logged-out`.","example":250,"maximum":20000,"minimum":0,"type":"integer"},"bearing":{"description":"Direction/bearing the device appears to be heading. 0 equals North. Required when the activity state is not `terminated` or `logged-out`.","example":90.0,"format":"double","maximum":360.0,"minimum":0.0,"type":"number"},"speedInMetersPerSec":{"description":"Speed the device is moving in meters per second. Required when the activity state is not `terminated` or `logged-out`.","example":35.0,"format":"double","maximum":1000.0,"minimum":0.0,"type":"number"}},"type":"object"},"type":{"description":"The type of geojson object. Required when the activity state is not `terminated` or `logged-out`.","enum":["feature"],"example":"feature","type":"string"}},"type":"object"},"pollingIntervalSecs":{"description":"Polling interval to the next activity entry in seconds. Required when the activity state is not `terminated` or `logged-out`.","example":55,"type":"integer"},"state":{"description":"The state of this activity entry: `started` - first registered location for a device when a tracking event starts, `updated` - new location information for a device with an existing tracking event, `terminated` - set by admin when terminating individual device's location services","enum":["started","updated","completed","permission-denied","terminated","logged-out"],"example":"started","type":"string"},"trackingEventId":{"description":"The ID of the associated `trackingEvent`","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"userId":{"description":"ID of the user who performed the activity","example":"2da49d5a-7e6a-11ee-8731-4f79b4af6db7","format":"uuid","type":"string"}},"required":[],"type":"object"},"tracking-events_activities.response":{"properties":{"createdAt":{"description":"When the tracking event activity was created","format":"date-time","type":"string"},"device":{"$ref":"#/components/schemas/_tracking-events_activities.device","description":"The device which triggered this activity"},"deviceId":{"description":"The ID of the device in IcMobile","example":"ed612784-ab29-11ee-a6b4-5f9820659170","format":"uuid","type":"string"},"geometryType":{"description":"Geometry of area, describes the type of geometry indicated by `geometryValue`","enum":["point"],"example":"point","type":"string"},"geometryValue":{"description":"The geojson feature object, a spatially bounded entity with its own set of properties. Required when the activity state is not `terminated` or `logged-out`.","example":{"geometry":{"coordinates":[-89.3412,43.1471],"type":"point"},"properties":{"accuracyInM":250,"bearing":90.0,"speedInMetersPerSec":35.0},"type":"feature"},"properties":{"geometry":{"description":"Definition of the point","properties":{"coordinates":{"description":"Longitude and Latitude of the point. Required when the activity state is not `terminated` or `logged-out`.","example":[-89.3412,43.1471],"items":{"format":"double","type":"number"},"maxItems":1024,"type":"array"},"type":{"description":"The type of feature, represents the geolocation of the device reporting the activity. Required when the activity state is not `terminated` or `logged-out`.","enum":["point"],"example":"point","type":"string"}},"type":"object"},"properties":{"description":"The properties of the activity.","properties":{"accuracyInM":{"description":"The accuracy of the device's calculated location in meters. Fractional values are rounded to the nearest integer (ties to even). Required when the activity state is not `terminated` or `logged-out`.","example":250,"maximum":20000,"minimum":0,"type":"integer"},"bearing":{"description":"Direction/bearing the device appears to be heading. 0 equals North. Required when the activity state is not `terminated` or `logged-out`.","example":90.0,"format":"double","maximum":360.0,"minimum":0.0,"type":"number"},"speedInMetersPerSec":{"description":"Speed the device is moving in meters per second. Required when the activity state is not `terminated` or `logged-out`.","example":35.0,"format":"double","maximum":1000.0,"minimum":0.0,"type":"number"}},"type":"object"},"type":{"description":"The type of geojson object. Required when the activity state is not `terminated` or `logged-out`.","enum":["feature"],"example":"feature","type":"string"}},"type":"object"},"id":{"description":"ID of the tracking activity","format":"uuid","type":"string"},"notificationCreatedAt":{"description":"When the notification associated with the tracking event activity was sent","example":"2024-03-25T19:11:39.976Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"pollingIntervalSecs":{"description":"Polling interval to the next activity entry in seconds. Required when the activity state is not `terminated` or `logged-out`.","example":55,"type":"integer"},"state":{"description":"The state of this activity entry: `started` - first registered location for a device when a tracking event starts, `updated` - new location information for a device with an existing tracking event, `terminated` - set by admin when terminating individual device's location services","enum":["started","updated","completed","permission-denied","terminated","logged-out"],"example":"started","type":"string"},"trackingEvent":{"$ref":"#/components/schemas/_tracking-events_activities.tracking-event","description":"The tracking event this activity is associated with"},"trackingEventId":{"description":"The ID of the associated `trackingEvent`","example":"80a5b997-e0b9-11ee-80c3-b5928b1c397d","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userId":{"description":"ID of the user who performed the activity","example":"2da49d5a-7e6a-11ee-8731-4f79b4af6db7","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"triggers.post-request":{"properties":{"name":{"description":"Name of the trigger","example":"Batch load requests web hook","maximum":140,"type":"string"},"spec":{"description":"Identifies the path to the resource(s) the trigger will monitor and report changes to. The wildcard character `*` can stand in for any resource `id`.","example":"/load-definitions/*/load-requests/*","maximum":1000,"type":"string"},"type":{"description":"The mechanism the trigger should use to report changes to the resource it is monitoring.","enum":["webhook","sqs"],"example":"webhook","type":"string"},"url":{"description":"The URL of the Amazon SQS queue or web application to which the trigger should post reports about changes to the monitored resource.","example":"https://username:password@my-host.com/icmobile-trigger/","maximum":1000,"type":"string"}},"required":["name","spec","type","url"],"type":"object"},"triggers.put-request":{"properties":{"name":{"description":"Name of the trigger","example":"Batch load requests web hook","maximum":140,"type":"string"},"spec":{"description":"Identifies the path to the resource(s) the trigger will monitor and report changes to. The wildcard character `*` can stand in for any resource `id`.","example":"/load-definitions/*/load-requests/*","maximum":1000,"type":"string"},"type":{"description":"The mechanism the trigger should use to report changes to the resource it is monitoring.","enum":["webhook","sqs"],"example":"webhook","type":"string"},"url":{"description":"The URL of the Amazon SQS queue or web application to which the trigger should post reports about changes to the monitored resource.","example":"https://username:password@my-host.com/icmobile-trigger/","maximum":1000,"type":"string"}},"required":[],"type":"object"},"triggers.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID of the trigger","format":"uuid","type":"string"},"name":{"description":"Name of the trigger","example":"Batch load requests web hook","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"spec":{"description":"Identifies the path to the resource(s) the trigger will monitor and report changes to. The wildcard character `*` can stand in for any resource `id`.","example":"/load-definitions/*/load-requests/*","maximum":1000,"type":"string"},"type":{"description":"The mechanism the trigger should use to report changes to the resource it is monitoring.","enum":["webhook","sqs"],"example":"webhook","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"url":{"description":"The URL of the Amazon SQS queue or web application to which the trigger should post reports about changes to the monitored resource.","example":"https://username:password@my-host.com/icmobile-trigger/","maximum":1000,"type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"tts-defaults.put-request":{"properties":{"ttsVoiceId":{"description":"The id of the default voice","example":"751de142-841a-11ea-a32f-17f989f7588d","format":"uuid","type":"string"}},"required":[],"type":"object"},"tts-defaults.response":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"ID of the voice config","example":"a73f4878-c8c9-11f1-9434-43e706012a2f","format":"uuid","type":"string"},"language":{"description":"The notification language this default voice configuration applies to","example":"en-US","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"ttsVoiceId":{"description":"The id of the default voice","example":"751de142-841a-11ea-a32f-17f989f7588d","format":"uuid","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"tts-lexicons.post-request":{"properties":{"find":{"description":"Mispronounced text to be replaced","example":"omw","maximum":255,"type":"string"},"language":{"description":"The language for which this lexicon replacement applies","enum":["arb","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"replace":{"description":"Replacement text with corrected pronunciation","example":"on my way","maximum":255,"type":"string"}},"required":["language","find","replace"],"type":"object"},"tts-lexicons.put-request":{"properties":{"find":{"description":"Mispronounced text to be replaced","example":"omw","maximum":255,"type":"string"},"language":{"description":"The language for which this lexicon replacement applies","enum":["arb","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"replace":{"description":"Replacement text with corrected pronunciation","example":"on my way","maximum":255,"type":"string"}},"required":[],"type":"object"},"tts-lexicons.response":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"find":{"description":"Mispronounced text to be replaced","example":"omw","maximum":255,"type":"string"},"id":{"description":"ID of the lexicon entry","format":"uuid","type":"string"},"language":{"description":"The language for which this lexicon replacement applies","enum":["arb","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"replace":{"description":"Replacement text with corrected pronunciation","example":"on my way","maximum":255,"type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","id"],"type":"object"},"tts-voices.response":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"engine":{"description":"The synthesis engine used to produce audio.","enum":["standard"],"example":"standard","type":"string"},"gender":{"description":"The gender of the voice","example":"Female","maximum":10000,"type":"string"},"id":{"description":"ID of the voice.","example":"751de142-841a-11ea-a32f-17f989f7588d","format":"uuid","type":"string"},"language":{"description":"The language code for the voice","example":"en-US","maximum":10000,"type":"string"},"name":{"description":"The name of the voice","example":"Joanna","maximum":10000,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"synthesisProvider":{"description":"The synthesis engine used to produce audio.","example":"Amazon Polly","maximum":10000,"type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"tts.post-request":{"properties":{"body":{"description":"Body of message","maximum":10000,"type":"string"},"ignoreLexicon":{"description":"If true, no lexicon substitutions will be applied when generating this result; this supports use cases like the lexicon substitution previews themselves","type":"boolean"},"return":{"description":"Controls the value returned from a POST, the default is the actual audio, but can be the hash to use with a later GET instead, or simulate a failure of TTS","enum":["audio","hash","fail"],"example":"hash","type":"string"},"subject":{"description":"Subject (perhaps a summary version) of message","example":"Earl Grey tea, hot, is in the kitchen.","maximum":255,"type":"string"},"ttsCustomContent":{"description":"Custom text for synthesizing audio for the message template","maximum":10000,"type":"string"},"ttsSpeed":{"description":"The rate at which the text will be spoken (defaults to normal).","enum":["very-slow","slow","normal","fast","very-fast"],"type":"string"},"ttsType":{"description":"Controls which attributes are transformed into speech audio, and how","enum":["subject","body","subject-and-body","custom-text","custom-ssml"],"example":"subject","type":"string"},"ttsVoiceId":{"description":"Id of voice used to synthesize audio from message text","example":"751e56a1-841a-11ea-a32f-3767c65554ed","format":"uuid","type":"string"},"validateTts":{"description":"Controls what validation to apply to the TTS text. The default is `none'.","enum":["none","length"],"type":"string"}},"required":["ttsType","ttsVoiceId"],"type":"object"},"user-devices.response":{"properties":{"build":{"description":"The current build of the user device, if applicable","example":null,"type":"string"},"clientIdentifier":{"description":"A unique identifier for the client application such as an id to identify mobile app installs uniquely.","example":"6400503b-fdc9-11ee-bc81-bfe199258036","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceIdentifier":{"description":"Device type specific string used to identify the device","example":"+18512158130","type":"string"},"disabled":{"description":"True if the device is disabled","example":false,"type":"boolean"},"id":{"description":"The `id` of the user device","example":"6400503b-fdc9-11ee-bc81-bfe199258036","format":"uuid","type":"string"},"name":{"description":"The name of the user device","example":"iPhone 13","type":"string"},"os":{"description":"The operating system utilized by the user device, if applicable","example":null,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"type":{"description":"The type of the user device","example":"Mobile","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"user":{"$ref":"#/components/schemas/_user-devices.user","description":"User information this user device is associated with"},"userId":{"description":"The `id` of the user associated with the device","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"verified":{"description":"Whether the user has confirmed ownership of this device","example":true,"type":"boolean"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"users.post-request":{"properties":{"application":{"description":"Used only with users whose type is `application`; specifies the type of application","enum":["cloud-user-loader","mobile-plugin","desktop-registration","user-loader","custom","visitor-aware"],"example":null,"type":"string"},"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"endpointId":{"description":"ID of the Fusion server the user belongs to, if any","example":"f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1","format":"uuid","type":"string"},"idleTimeout":{"description":"The user’s idle timeout override (between 5 and 720 minutes). `null` sets the user to the system default","example":5,"type":"integer"},"includeApplications":{"description":"The types of applications to include. Used only with users whose type is `application`; specifies the type of application","example":["mobile-plugin"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeLoadSourceIds":{"description":"The load-source-ids to include.","example":["8534a3b4-eba3-11ee-b4d4-eb39fb720087"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeTypes":{"description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"isLocked":{"description":"The user lock resource. If true, the user is in a locked state (not allowed to access the system)","example":false,"type":"boolean"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"passwordResetRequired":{"description":"Whether the user will be forced to set a new password on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"providerIdpId":{"description":"The ID of the identity provider used for authenticating the user. When used for filtering users, the result will only include users whose providerIdpId matches the specified IDP id","format":"uuid","type":"string"},"tfaRemovalRequested":{"description":"Whether the user’s two factor authentication will be removed on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":["name","type"],"type":"object"},"users.put-request":{"properties":{"application":{"description":"Used only with users whose type is `application`; specifies the type of application","enum":["cloud-user-loader","mobile-plugin","desktop-registration","user-loader","custom","visitor-aware"],"example":null,"type":"string"},"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"endpointId":{"description":"ID of the Fusion server the user belongs to, if any","example":"f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1","format":"uuid","type":"string"},"idleTimeout":{"description":"The user’s idle timeout override (between 5 and 720 minutes). `null` sets the user to the system default","example":5,"type":"integer"},"includeApplications":{"description":"The types of applications to include. Used only with users whose type is `application`; specifies the type of application","example":["mobile-plugin"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeLoadSourceIds":{"description":"The load-source-ids to include.","example":["8534a3b4-eba3-11ee-b4d4-eb39fb720087"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeTypes":{"description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"isLocked":{"description":"The user lock resource. If true, the user is in a locked state (not allowed to access the system)","example":false,"type":"boolean"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"passwordResetRequired":{"description":"Whether the user will be forced to set a new password on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"providerIdpId":{"description":"The ID of the identity provider used for authenticating the user. When used for filtering users, the result will only include users whose providerIdpId matches the specified IDP id","format":"uuid","type":"string"},"tfaRemovalRequested":{"description":"Whether the user’s two factor authentication will be removed on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":[],"type":"object"},"users.response":{"properties":{"application":{"description":"Used only with users whose type is `application`; specifies the type of application","enum":["cloud-user-loader","mobile-plugin","desktop-registration","user-loader","custom","visitor-aware"],"example":null,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceState":{"description":"When present, limits results to users having a disabled device or enabled","enum":["enabled","disabled"],"type":"string"},"email":{"description":"The user’s email address; will be missing for users whose `type` is `anonymous` or `application`","example":"john.doe@example.com","maximum":254,"type":"string"},"endpointId":{"description":"ID of the Fusion server the user belongs to, if any","example":"f34c4da0-eba1-11ee-b4d4-ebfb45a87fb1","format":"uuid","type":"string"},"fromCloudUserLoader":{"description":"Whether the user’s source is the cloud user loader and is associated with a SCIM user","example":false,"type":"boolean"},"fromRegularUserLoader":{"description":"Whether the user’s source is a user loader, cloud or otherwise","example":false,"type":"boolean"},"id":{"description":"The `id` of the user, for efficient retrieval, manipulation, or looking up sub-resources attached to the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"idleTimeout":{"description":"The user’s idle timeout override (between 5 and 720 minutes). `null` sets the user to the system default","example":5,"type":"integer"},"includeApplications":{"description":"The types of applications to include. Used only with users whose type is `application`; specifies the type of application","example":["mobile-plugin"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeLoadSourceIds":{"description":"The load-source-ids to include.","example":["8534a3b4-eba3-11ee-b4d4-eb39fb720087"],"items":{"format":"uuid","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"includeTypes":{"description":"The types of user to include. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.","example":["regular"],"items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"isLicensed":{"description":"Whether the user is licensed to use the system; this value is changed exclusively by membership in SCIM groups","example":true,"type":"boolean"},"isLocked":{"description":"The user lock resource. If true, the user is in a locked state (not allowed to access the system)","example":false,"type":"boolean"},"licenseState":{"description":"Types of licensed state to include","enum":["licensed","not-licensed","excluded"],"example":"licensed","type":"string"},"loadSourceId":{"description":"Reflects how the user was created. Contains a Load Definition `id`, if the user came from a batch load; omitted if the user was created individually","format":"uuid","type":"string"},"name":{"description":"The user's name","example":"John Doe","maximum":140,"type":"string"},"passwordResetRequired":{"description":"Whether the user will be forced to set a new password on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"preferredLanguage":{"description":"The user's preferred language. Managed using the user profile endpoint.","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"providerIdp":{"$ref":"#/components/schemas/_users.provider-idp","description":"The identity provider used by this user"},"providerIdpId":{"description":"The ID of the identity provider used for authenticating the user. When used for filtering users, the result will only include users whose providerIdpId matches the specified IDP id","format":"uuid","type":"string"},"selfRegistered":{"description":"Whether user has self-registered","example":true,"type":"boolean"},"source":{"description":"A value representing how the user was added to InformaCast","enum":["manual","self-registered","cloud-user-loader","user-loader","sis-loader"],"example":"manual","type":"string"},"tfaRemovalRequested":{"description":"Whether the user’s two factor authentication will be removed on next login (available only for Providers and Users configured to use InformaCast’s own Identity Provider for login). Note that `includeIdp=true` must be passed as a query param for this value to be shown","type":"boolean"},"type":{"description":"The type of user. Application users are for non-interactive use with permanent API tokens, such as with the InformaCast plugin; anonymous users cannot be created via the API, but are created when users register a phone anonymously to participate in a campaign. Support users also cannot be created via the API.<br>_Specifying value 'anonymous' requires 'Reach'._<br>_Specifying value 'rostered' requires 'Reach'._<br>_Specifying value 'application' requires 'Reach'._<br>_Specifying value 'singlewire-contractor' requires 'Alert'._<br>_Contact Singlewire sales for more information about Modules._","enum":["regular","application","support","anonymous","rostered","endpoint","singlewire-contractor","receiver"],"example":"regular","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"users_devices.post-request":{"properties":{"build":{"description":"The current build of the application","example":"Revision-1.5.77","maximum":255,"type":"string"},"client":{"description":"OAuth2 Client identifier used for push authentication. Defaults to Singlewire InformaCast Client appropriate for device type","example":"00000000300BCE07","maximum":140,"type":"string"},"clientIdentifier":{"description":"A unique identifier for the client application such as an id to identify mobile app installs uniquely.","example":"+1234567890","maximum":4096,"type":"string"},"deviceIdentifier":{"description":"Sending identifier of device. Depending on the type, this may be an APNS push token, GCM token, email address, phone number, etc","example":"+1234567890","maximum":4096,"type":"string"},"disabled":{"description":"Whether notifications will be delivered to the device","example":false,"type":"boolean"},"name":{"description":"Name of device","example":"Mobile","maximum":255,"type":"string"},"os":{"description":"The OS the application is running on","example":"iOS","maximum":255,"type":"string"},"presence":{"description":"The set of areas of interest the devices was last reported to be in","example":{"accuracyInM":250,"areaOfInterestIds":["84b9bcc9-e22b-11ee-8194-07b35b9ef12c"],"areasOfInterestChecksum":"MD5:4a225ca3722b16ae8c2a66169f3e6a91"},"properties":{"accuracyInM":{"description":"The accuracy of area of interest calculations","example":250,"type":"integer"},"areaOfInterestIds":{"description":"The area of interest `id`s","example":["84b9bcc9-e22b-11ee-8194-07b35b9ef12c"],"items":{"format":"uuid","type":"string"},"maxItems":1024,"type":"array","uniqueItems":true},"areasOfInterest":{"description":"Embedded copies of the areas of interest named by `areaOfInterestIds`; omitted when `includeAois` is false","items":{"type":"object"},"readOnly":true,"type":"array"},"areasOfInterestChecksum":{"description":"Identifier of device as used by the push service","example":"MD5:4a225ca3722b16ae8c2a66169f3e6a91","maxLength":10000,"type":"string"},"updatedAt":{"description":"The last time the areas of interest were updated","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"type":{"description":"Type of device, currently `apns`, `apns-sandbox`, `WNS`, `apns-desktop`, `apns-desktop-sandbox`, `SMS`, `phone-call`, `singlewire:email`, or `Android`<br>_Specifying value 'apns' requires 'Reach'._<br>_Specifying value 'apns-sandbox' requires 'Reach'._<br>_Specifying value 'WNS' requires 'Reach'._<br>_Specifying value 'apns-desktop' requires 'Reach'._<br>_Specifying value 'apns-desktop-sandbox' requires 'Reach'._<br>_Specifying value 'android' requires 'Reach'._<br>_Specifying value 'msteams-chat' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":"phone-call","maximum":140,"type":"string"},"verified":{"description":"Whether the user has confirmed ownership of this device","example":true,"type":"boolean"}},"required":["type"],"type":"object"},"users_devices.put-request":{"properties":{"build":{"description":"The current build of the application","example":"Revision-1.5.77","maximum":255,"type":"string"},"client":{"description":"OAuth2 Client identifier used for push authentication. Defaults to Singlewire InformaCast Client appropriate for device type","example":"00000000300BCE07","maximum":140,"type":"string"},"clientIdentifier":{"description":"A unique identifier for the client application such as an id to identify mobile app installs uniquely.","example":"+1234567890","maximum":4096,"type":"string"},"deviceIdentifier":{"description":"Sending identifier of device. Depending on the type, this may be an APNS push token, GCM token, email address, phone number, etc","example":"+1234567890","maximum":4096,"type":"string"},"disabled":{"description":"Whether notifications will be delivered to the device","example":false,"type":"boolean"},"name":{"description":"Name of device","example":"Mobile","maximum":255,"type":"string"},"os":{"description":"The OS the application is running on","example":"iOS","maximum":255,"type":"string"},"presence":{"description":"The set of areas of interest the devices was last reported to be in","example":{"accuracyInM":250,"areaOfInterestIds":["84b9bcc9-e22b-11ee-8194-07b35b9ef12c"],"areasOfInterestChecksum":"MD5:4a225ca3722b16ae8c2a66169f3e6a91"},"properties":{"accuracyInM":{"description":"The accuracy of area of interest calculations","example":250,"type":"integer"},"areaOfInterestIds":{"description":"The area of interest `id`s","example":["84b9bcc9-e22b-11ee-8194-07b35b9ef12c"],"items":{"format":"uuid","type":"string"},"maxItems":1024,"type":"array","uniqueItems":true},"areasOfInterest":{"description":"Embedded copies of the areas of interest named by `areaOfInterestIds`; omitted when `includeAois` is false","items":{"type":"object"},"readOnly":true,"type":"array"},"areasOfInterestChecksum":{"description":"Identifier of device as used by the push service","example":"MD5:4a225ca3722b16ae8c2a66169f3e6a91","maxLength":10000,"type":"string"},"updatedAt":{"description":"The last time the areas of interest were updated","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"verified":{"description":"Whether the user has confirmed ownership of this device","example":true,"type":"boolean"}},"required":[],"type":"object"},"users_devices.response":{"properties":{"build":{"description":"The current build of the application","example":"Revision-1.5.77","maximum":255,"type":"string"},"client":{"description":"OAuth2 Client identifier used for push authentication. Defaults to Singlewire InformaCast Client appropriate for device type","example":"00000000300BCE07","maximum":140,"type":"string"},"clientIdentifier":{"description":"A unique identifier for the client application such as an id to identify mobile app installs uniquely.","example":"+1234567890","maximum":4096,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceIdentifier":{"description":"Sending identifier of device. Depending on the type, this may be an APNS push token, GCM token, email address, phone number, etc","example":"+1234567890","maximum":4096,"type":"string"},"disabled":{"description":"Whether notifications will be delivered to the device","example":false,"type":"boolean"},"endpointId":{"description":"Endpoint identifier associated with the user device","example":null,"type":"string"},"icopId":{"description":"InformaCast On-Premises (Fusion) identifier associated with the user device","example":null,"type":"string"},"id":{"description":"The `id` of device","example":"b3d16f1d-e0ba-11ee-be2f-5db6cbfd5343","format":"uuid","type":"string"},"loadSourceId":{"description":"Load source identifier associated with the user device","format":"uuid","type":"string"},"name":{"description":"Name of device","example":"Mobile","maximum":255,"type":"string"},"os":{"description":"The OS the application is running on","example":"iOS","maximum":255,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"presence":{"description":"The set of areas of interest the devices was last reported to be in","example":{"accuracyInM":250,"areaOfInterestIds":["84b9bcc9-e22b-11ee-8194-07b35b9ef12c"],"areasOfInterestChecksum":"MD5:4a225ca3722b16ae8c2a66169f3e6a91"},"properties":{"accuracyInM":{"description":"The accuracy of area of interest calculations","example":250,"type":"integer"},"areaOfInterestIds":{"description":"The area of interest `id`s","example":["84b9bcc9-e22b-11ee-8194-07b35b9ef12c"],"items":{"format":"uuid","type":"string"},"maxItems":1024,"type":"array","uniqueItems":true},"areasOfInterest":{"description":"Embedded copies of the areas of interest named by `areaOfInterestIds`; omitted when `includeAois` is false","items":{"type":"object"},"readOnly":true,"type":"array"},"areasOfInterestChecksum":{"description":"Identifier of device as used by the push service","example":"MD5:4a225ca3722b16ae8c2a66169f3e6a91","maxLength":10000,"type":"string"},"updatedAt":{"description":"The last time the areas of interest were updated","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"type":{"description":"Type of device, currently `apns`, `apns-sandbox`, `WNS`, `apns-desktop`, `apns-desktop-sandbox`, `SMS`, `phone-call`, `singlewire:email`, or `Android`<br>_Specifying value 'apns' requires 'Reach'._<br>_Specifying value 'apns-sandbox' requires 'Reach'._<br>_Specifying value 'WNS' requires 'Reach'._<br>_Specifying value 'apns-desktop' requires 'Reach'._<br>_Specifying value 'apns-desktop-sandbox' requires 'Reach'._<br>_Specifying value 'android' requires 'Reach'._<br>_Specifying value 'msteams-chat' requires 'Reach'._<br>_Contact Singlewire sales for more information about Modules._","example":"phone-call","maximum":140,"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"verified":{"description":"Whether the user has confirmed ownership of this device","example":true,"type":"boolean"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_facilities.post-request":{"properties":{"id":{"description":"ID of the facility","format":"uuid","type":"string"}},"required":["id"],"type":"object"},"users_facilities.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"hideGlobal":{"description":"When supplied, hides inaccessible facilities in the response","type":"boolean"},"id":{"description":"ID of the facility","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userId":{"description":"The User's id","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_incidents_tracking-streams.post-request":{"properties":{"incidentId":{"description":"The ID of the Incident from which the Tracking Stream was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"initiationDevice":{"description":"Details about the device that initiated the Tracking Stream. This value is stored in the metadata field of the `initiationDevice` in the response","example":"{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}","properties":{"lookupValue":{"description":"The value used to identify this device in InformaCast. For API Devices, this is the External ID. For IP Speakers, it's the MAC Address.","example":"vape-123","type":"string"},"type":{"description":"The type of the device, either api-device or ip-speaker","example":"api-device","type":"string"}},"type":"object"},"initiationUserId":{"description":"The ID of the user the Tracking Stream was initiated by","format":"uuid","type":"string"}},"required":["state","initiationDevice"],"type":"object"},"users_incidents_tracking-streams.response":{"properties":{"createdAt":{"description":"When the Tracking Stream began.","format":"date-time","type":"string"},"endedAt":{"description":"When the Tracking Stream ended.","format":"date-time","type":"string"},"endedComment":{"description":"The user-supplied reason the Tracking Stream ended.","type":"string"},"endedReason":{"description":"The reason the Tracking Stream ended.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"id":{"description":"The ID of the Tracking Stream.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"initiationDevice":{"description":"Details about the device that initiated the Tracking Stream. This value is stored in the metadata field of the `initiationDevice` in the response","example":"{\"lookupValue\":\"vape-123\",\"type\":\"api-device\"}","properties":{"lookupValue":{"description":"The value used to identify this device in InformaCast. For API Devices, this is the External ID. For IP Speakers, it's the MAC Address.","example":"vape-123","type":"string"},"type":{"description":"The type of the device, either api-device or ip-speaker","example":"api-device","type":"string"}},"type":"object"},"initiationUser":{"$ref":"#/components/schemas/_tracking-streams.user","description":"The User the Tracking Stream was initiated by"},"initiationUserId":{"description":"The ID of the user the Tracking Stream was initiated by","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"state":{"description":"The state of the Tracking Stream","enum":["active","ended"],"example":"active","type":"string"},"updatedAt":{"description":"The last timestamp the Tracking Stream was updated at","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_incidents_tracking-streams_end.post-request":{"properties":{"comment":{"description":"A user-supplied reason the Tracking Stream is ending. For ended event types only.","example":"User no longer needed help.","maximum":10000,"type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"reason":{"description":"The reason the Tracking Stream is ending. For ended event types only.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"}},"required":["reason"],"type":"object"},"users_incidents_tracking-streams_end.response":{"properties":{"comment":{"description":"A user-supplied reason the Tracking Stream is ending. For ended event types only.","example":"User no longer needed help.","maximum":10000,"type":"string"},"createdAt":{"description":"When the Tracking Stream Event was created.","format":"date-time","type":"string"},"id":{"description":"The ID of the Tracking Stream Event.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reason":{"description":"The reason the Tracking Stream is ending. For ended event types only.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"},"type":{"description":"The type of Tracking Stream Event.","enum":["ended"],"example":"ended","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_incidents_tracking-streams_events.response":{"properties":{"comment":{"description":"A user-supplied reason the Tracking Stream is ending. For ended event types only.","example":"User no longer needed help.","type":"string"},"createdAt":{"description":"When the Tracking Stream Event was created.","format":"date-time","type":"string"},"id":{"description":"The ID of the Tracking Stream Event.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"The location of the event. For location-updated event types only."},"locationResolutionStatusCode":{"description":"The location resolution of the event.","enum":["SINGLE_BEACON","MULTIPLE_BEACONS","GATEWAY_ONLY","OS_LOCATION"],"example":"OS_LOCATION","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reason":{"description":"The reason the Tracking Stream is ending. For ended event types only.","enum":["badge-tracking-duration-exceeded","user-initiated","logged-out","incident-ended"],"example":"user-initiated","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"},"type":{"description":"The type of Tracking Stream Event.","enum":["ended","location-updated"],"example":"ended","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_incidents_tracking-streams_update-location.post-request":{"properties":{"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"The location of the event. For location-updated event types only."},"locationResolutionStatusCode":{"description":"The location resolution of the event.","enum":["SINGLE_BEACON","MULTIPLE_BEACONS","GATEWAY_ONLY","OS_LOCATION"],"example":"OS_LOCATION","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"}},"required":["locationResolutionStatusCode","location"],"type":"object"},"users_incidents_tracking-streams_update-location.response":{"properties":{"createdAt":{"description":"When the Tracking Stream Event was created.","format":"date-time","type":"string"},"id":{"description":"The ID of the Tracking Stream Event.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentId":{"description":"The ID of the Incident from which the Tracking Stream Event was created.","example":"36b2411b-cd0b-11ee-9027-edf5cd113c88","format":"uuid","type":"string"},"location":{"$ref":"#/components/schemas/_scenario-notifications.location","description":"The location of the event. For location-updated event types only."},"locationResolutionStatusCode":{"description":"The location resolution of the event.","enum":["SINGLE_BEACON","MULTIPLE_BEACONS","GATEWAY_ONLY","OS_LOCATION"],"example":"OS_LOCATION","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream from which the Tracking Stream Event was created.","example":"46b2411b-cd0b-11ee-9027-edf5cd113c89","format":"uuid","type":"string"},"type":{"description":"The type of Tracking Stream Event.","enum":["location-updated"],"example":"location-updated","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_locations.post-request":{"properties":{"description":{"description":"The location’s description, to help the user recall its purpose","example":null,"maximum":10000,"type":"string"},"deviceId":{"description":"The identifier of a device, if any, to associate with this location, the device will then presumably post updates to the location as it moves around","example":null,"format":"uuid","type":"string"},"disabled":{"description":"When `true`, this location will no longer cause the user to be included in geographic search results which cover it","example":false,"type":"boolean"},"latitude":{"description":"The geographic latitude of the location, in decimal degrees","example":-89.421967,"format":"double","type":"number"},"longitude":{"description":"The geographic longitude of the location, in decimal degrees","example":43.034593,"format":"double","type":"number"},"name":{"description":"The location’s name, to help the user identify its nature and purpose","example":"Home","maximum":140,"type":"string"}},"required":["name","latitude","longitude"],"type":"object"},"users_locations.put-request":{"properties":{"description":{"description":"The location’s description, to help the user recall its purpose","example":null,"maximum":10000,"type":"string"},"deviceId":{"description":"The identifier of a device, if any, to associate with this location, the device will then presumably post updates to the location as it moves around","example":null,"format":"uuid","type":"string"},"disabled":{"description":"When `true`, this location will no longer cause the user to be included in geographic search results which cover it","example":false,"type":"boolean"},"latitude":{"description":"The geographic latitude of the location, in decimal degrees","example":-89.421967,"format":"double","type":"number"},"longitude":{"description":"The geographic longitude of the location, in decimal degrees","example":43.034593,"format":"double","type":"number"},"name":{"description":"The location’s name, to help the user identify its nature and purpose","example":"Home","maximum":140,"type":"string"}},"required":[],"type":"object"},"users_locations.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"description":{"description":"The location’s description, to help the user recall its purpose","example":null,"maximum":10000,"type":"string"},"deviceId":{"description":"The identifier of a device, if any, to associate with this location, the device will then presumably post updates to the location as it moves around","example":null,"format":"uuid","type":"string"},"disabled":{"description":"When `true`, this location will no longer cause the user to be included in geographic search results which cover it","example":false,"type":"boolean"},"id":{"description":"ID of the Location","format":"uuid","type":"string"},"latitude":{"description":"The geographic latitude of the location, in decimal degrees","example":-89.421967,"format":"double","type":"number"},"longitude":{"description":"The geographic longitude of the location, in decimal degrees","example":43.034593,"format":"double","type":"number"},"name":{"description":"The location’s name, to help the user identify its nature and purpose","example":"Home","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userId":{"description":"The `id` of the User to whom the location is registered","example":null,"format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_profile.put-request":{"properties":{"name":{"description":"The user's name, maximum of 140 characters","example":"Jeffrey Lebowski","maximum":140,"type":"string"},"preferredLanguage":{"description":"The user's preferred language","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"preferredName":{"description":"The user's preferred name, maximum of 140 characters","example":"The Dude","maximum":10000,"type":"string"},"preferredTimezone":{"description":"The user's preferred timezone, visit https://docs.oracle.com/middleware/12212/wcs/tag-ref/MISC/TimeZones.html for a list of available time zones","example":"America/Los_Angeles","maximum":10000,"type":"string"}},"required":[],"type":"object"},"users_profile.response":{"properties":{"name":{"description":"The user's name, maximum of 140 characters","example":"Jeffrey Lebowski","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"preferredLanguage":{"description":"The user's preferred language","enum":["ar","de-DE","en-US","es-US","en-GB","fr-CA","fr-FR","pt-BR"],"example":"en-US","type":"string"},"preferredName":{"description":"The user's preferred name, maximum of 140 characters","example":"The Dude","maximum":10000,"type":"string"},"preferredTimezone":{"description":"The user's preferred timezone, visit https://docs.oracle.com/middleware/12212/wcs/tag-ref/MISC/TimeZones.html for a list of available time zones","example":"America/Los_Angeles","maximum":10000,"type":"string"},"userId":{"description":"The User's id","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["permissions"],"type":"object"},"users_rostering.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"endedAt":{"description":"When this Incident was ended, will be null while the Incident is still active","example":null,"format":"date-time","type":"string"},"id":{"description":"The Incident ID","format":"uuid","type":"string"},"incidentId":{"description":"The `id` of the Incident for which this resource belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"incidentPlan":{"$ref":"#/components/schemas/_rostering.incident-plan","description":"A JSON object containing the `name` of the Incident Plan from which this Incident was created<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._"},"locations":{"description":"A list of the locations that are selectable for this Roll Call Incident","example":["Reunification Zone"],"items":{"type":"string"},"type":"array","uniqueItems":true},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"site":{"description":"A JSON object containing the name and ID of the Site assigned to this Incident","properties":{"id":{"description":"The id of the site assigned to the incident","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"name":{"description":"The name of the site assigned to the incident","example":"UW-Madison","type":"string"}},"type":"object"},"statuses":{"description":"A list of the statuses that are selectable for this Roll Call Incident","example":["Safe"],"items":{"type":"string"},"type":"array","uniqueItems":true},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_rostering_rostering-members.post-request":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of 'Unknown’.","example":"Reunification Zone","maximum":10000,"type":"string"},"rosterMemberUserIds":{"description":"List of roster member user IDs for which to update status and location. Required on POST requests.","items":{"type":"string"},"type":"array"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of 'Unknown’.","example":"Safe","maximum":10000,"type":"string"}},"required":["incidentId"],"type":"object"},"users_rostering_rostering-members.put-request":{"properties":{"incidentId":{"description":"The Incident to which the Rostering (Roll Call) member belongs.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member. `null` indicates location of 'Unknown’.","example":"Reunification Zone","maximum":10000,"type":"string"},"status":{"description":"The status of the Rostering (Roll Call) member. `null` indicates status of 'Unknown’.","example":"Safe","maximum":10000,"type":"string"}},"required":[],"type":"object"},"users_rostering_rostering-my-list.response":{"properties":{"incidentId":{"description":"The Incident ID","format":"uuid","type":"string"},"location":{"description":"The location of the Rostering (Roll Call) member, `null` indicates location of 'Unknown’","example":"Classroom","type":"string"},"memberUser":{"description":"A JSON object containing the user name, email and ID for the Rostering (Roll Call) list member","properties":{"email":{"description":"The email of the Roster (Roll Call) member","example":"jane.doe@domain.com","type":"string"},"id":{"description":"The ID of the Roster (Roll Call) member","format":"uuid","type":"string"},"name":{"description":"The name of the Roster (Roll Call) member","example":"Jane Doe","type":"string"}},"type":"object"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"status":{"description":"The status of the Rostering (Roll Call) member, `null` indicates status of 'Unknown’","example":"Safe","type":"string"}},"required":["permissions"],"type":"object"},"users_rostering_rostering-report.response":{"properties":{"statusCounts":{"description":"A list of JSON objects that contain the status label and assigned user count for each status in the Rostering (Roll Call) incident. A status of `null` means `Unknown`","items":{"properties":{"count":{"description":"The number of users currently assigned to this status in the Rostering (Roll Call) event","example":370,"type":"integer"},"status":{"description":"The status of the Rostering (Roll Call) member, `null` indicates status of `Unknown`","example":"Safe","type":"string"}},"type":"object"},"type":"array"}},"required":[],"type":"object"},"users_scim-subscriptions.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"distributionList":{"$ref":"#/components/schemas/_users_scim-subscriptions.distribution-list","description":"The distribution list which the specified user is subscribed through associated SCIM Groups"},"distributionListId":{"description":"ID of distribution list which the specified user is subscribed through associated SCIM Groups","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"id":{"description":"ID of subscription","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"scimGroupIds":{"description":"IDs of the associated SCIM groups","example":["d80aa1de-8026-11eb-a543-53c5fa2d317e"],"items":{"format":"uuid","type":"string"},"type":"array","uniqueItems":true},"scimGroups":{"description":"The associated SCIM Groups","example":[{"id":" d80aa1de-8026-11eb-a543-53c5fa2d317e","name":"SCIMSGTEST"}],"items":{"format":"json","type":"string"},"maximum":1024,"type":"array","uniqueItems":true},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userId":{"description":"ID of the user","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_security-groups.post-request":{"properties":{"securityGroupId":{"description":"Security Group `id`","format":"uuid","type":"string"}},"required":["securityGroupId"],"type":"object"},"users_subscribable-distribution-lists.put-request":{"properties":{"subscribe":{"description":"Whether to subscribe to the Distribution List","example":true,"type":"boolean"}},"required":[],"type":"object"},"users_subscribable-distribution-lists.response":{"properties":{"createdAt":{"description":"When this subscription was created; this attribute will not be present if `subscribed` is `false`","format":"date-time","type":"string"},"distributionListId":{"description":"The `id` of the named Distribution List","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"distributionListName":{"description":"The `name` of the Distribution List available for subscription","example":"Baristas","type":"string"},"facilityId":{"description":"The ID of the facility this subscribable distribution lists belongs to","example":"69dab71b-12b2-11e8-bfe3-41154f2b6534","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subscribed":{"description":"Whether the User is subscribed to this Distribution List","example":true,"type":"boolean"},"userId":{"description":"The User's id","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["permissions","id"],"type":"object"},"users_subscriptions.post-request":{"properties":{"distributionListId":{"description":"The id of the Distribution List to be subscribed to","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"subscriptionEndDate":{"description":"If specified, the time at which this subscription will become inactive","example":"2035-05-27T19:20:46.908Z","format":"date-time","type":"string"}},"required":["distributionListId"],"type":"object"},"users_subscriptions.put-request":{"properties":{"subscriptionEndDate":{"description":"If specified, the time at which this subscription will become inactive","example":"2035-05-27T19:20:46.908Z","format":"date-time","type":"string"}},"required":[],"type":"object"},"users_subscriptions.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"distributionList":{"$ref":"#/components/schemas/_users_subscriptions.distribution_list","description":"When this Distribution List is a recipient of a Notification, the User attached to this subscription will be sent the Notification"},"distributionListId":{"description":"The id of the Distribution List to be subscribed to","example":"4c6e2bfb-7a8d-11ee-bc97-7f85b6d2e47c","format":"uuid","type":"string"},"id":{"description":"ID of subscription","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subscriptionEndDate":{"description":"If specified, the time at which this subscription will become inactive","example":"2035-05-27T19:20:46.908Z","format":"date-time","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userId":{"description":"The `id` of the User to which Notifications should be delivered when the Distribution List attached to this subscription is listed as a recipient of the Notification","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_tokens.post-request":{"properties":{"expires":{"description":"When the token should expire and cease to be usable; if left blank will default to 1 year","example":"2026-10-16T06:53:04.588Z","format":"date-time","type":"string"},"name":{"description":"The name assigned to this token","example":"API Token","maximum":10000,"type":"string"},"type":{"description":"Whether to create a grant code or a token","enum":["token","code"],"example":"token","type":"string"}},"required":["name"],"type":"object"},"users_tokens.response":{"properties":{"client":{"description":"The `id` of the OAuth2 client with which the token is associated","example":"00000000400ECB04","type":"string"},"createdAt":{"description":"The date/time the token was created at","example":"2026-10-15T18:53:04.588Z","format":"date-time","type":"string"},"expires":{"description":"When the token should expire and cease to be usable; if left blank will default to 1 year","example":"2026-10-16T06:53:04.588Z","format":"date-time","type":"string"},"id":{"description":"The `id` of this specific token, allowing it to be manipulated or retrieved individually","example":"fe9439c4-f201-11ee-ac85-e522b32d943d","format":"uuid","type":"string"},"name":{"description":"The name assigned to this token","example":"API Token","maximum":10000,"type":"string"},"originCreatedAt":{"description":"For refresh tokens, the date/time the token's session was created at","example":"2026-10-15T18:53:04.588Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"refreshTokenUsed":{"description":"Whether the refresh token has been used to exchange for a new token pair","example":false,"type":"boolean"},"scope":{"description":"The OAuth2 scope for which the token applies. This is an area of active development, and in future might be used to provide access to subsets of the API. When such features become available, this documentation will be updated; for now, consider this a value used internally by the API","example":"5926e481-e02c-11eb-8524-47c7b633829","type":"string"},"subject":{"description":"The OAuth2 subject associated with the token; currently the same as `userId`","example":"Access Token","type":"string"},"token":{"description":"The special string which can be used to provide this token as an `access_token` for authenticating API requests, as discussed in the authentication section. This value is present only in the response to a post request when the token is first created, and must be securely recorded at that point. It is important to protect this token because possession is enough to grant access to the API as the user associated with the token","example":"LGDOJB7AFGI6XCLUC5D3R5DIOZNRVSW54AVRDA4FOSZ2Y2Z64W55DI33PE45QXIGAF73GCEED32EPQDZGIMJZBGDVYCQ5LSSKUT3ILY=","type":"string"},"tokenType":{"description":"One of `access_token` or `refresh_token` depending on if it is an API token or a session","enum":["refresh_token","access_token"],"example":"access_token","type":"string"},"type":{"description":"Whether to create a grant code or a token","enum":["token","code"],"example":"token","type":"string"}},"required":["permissions","id"],"type":"object"},"users_tracking-events.response":{"properties":{"completedAt":{"description":"Time the tracking event's state was changed to completed","format":"date-time","type":"string"},"createdAt":{"description":"Time the tracking event was created","format":"date-time","type":"string"},"deviceId":{"description":"The `id` of a device to track. Used when device initiates tracking event","example":"1b8d3a89-ae35-11cc-a719-1f83c53633aa","format":"uuid","type":"string"},"id":{"description":"The `id` of the Tracking Event<br>_Accessing this feature requires 'Respond'._<br>_Contact Singlewire sales for more information about Modules._","example":"45a5b445-fb65-11ee-b53c-d164385c9101","format":"uuid","type":"string"},"initiatorId":{"description":"The `id` of the initiating user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"The `name` of the Tracking Event","example":"Ice Cream Party","maximum":140,"type":"string"},"notificationId":{"description":"The `id` of the notification when initiated by a confirmation response","example":"48255ccc-f3a7-11ee-b689-9f8f6792edd5","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"state":{"description":"The state of this event","enum":["active","completed"],"example":"active","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_tracking-events_activities.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"deviceId":{"description":"The `id` of the device","example":"1b8d3a89-ae35-11cc-a719-1f83c53633aa","format":"uuid","type":"string"},"geometryType":{"description":"The geometry type of the area. Only supported option is `point`","enum":["point"],"example":"point","type":"string"},"geometryValue":{"description":"The geojson feature object","example":{"geometry":{"coordinates":[-89.4,43.07],"type":"point"},"properties":{"accuracyInM":100,"bearing":5.5,"speedInMetersPerSec":22.4},"type":"feature"},"properties":{"geometry":{"description":"Definition of the point","properties":{"coordinates":{"description":"Longitude and Latitude of the point","example":[-89.4,43.07],"items":{"format":"double","type":"number"},"type":"array"},"type":{"description":"The geometry type of the feature. Only supported option is `point`","enum":["point"],"example":"point","type":"string"}},"type":"object"},"properties":{"description":"The properties of the activity","properties":{"accuracyInM":{"description":"The accuracy of the device's calculated location","example":100,"type":"integer"},"bearing":{"description":"Bearing of travel in degrees. 0 equals North","example":5.5,"format":"double","type":"number"},"speedInMetersPerSec":{"description":"Speed the device is moving","example":22.4,"format":"double","type":"number"}},"type":"object"},"type":{"description":"The type of geojson object","enum":["feature"],"example":"feature","type":"string"}},"type":"object"},"id":{"description":"The `id` of the user's tracking activity","example":"8ab1775e-fc30-11ee-b53c-45bdd8a35688","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"state":{"description":"The state of this activity entry","enum":["started","updated","completed","permission-denied"],"example":"started","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"userId":{"description":"The `id` of the user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"users_user-permissions.post-request":{"properties":{"spec":{"description":"Resource spec of the permission","example":"/notifications","maximum":1000,"type":"string"},"verb":{"description":"Verb of the permission","enum":["get","put","post","delete","patch"],"example":"post","type":"string"}},"required":[],"type":"object"},"users_user-permissions.put-request":{"properties":{"spec":{"description":"Resource spec of the permission","example":"/notifications","maximum":1000,"type":"string"},"verb":{"description":"Verb of the permission","enum":["get","put","post","delete","patch"],"example":"post","type":"string"}},"required":[],"type":"object"},"users_user-permissions.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"ID of the permission","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"spec":{"description":"Resource spec of the permission","example":"/notifications","maximum":1000,"type":"string"},"userId":{"description":"The `id` of the user granted this permission","format":"uuid","type":"string"},"verb":{"description":"Verb of the permission","enum":["get","put","post","delete","patch"],"example":"post","type":"string"}},"required":["permissions","createdAt","id"],"type":"object"},"wearable-installation-reports.post-request":{"properties":{"buildingId":{"description":"The ID of the building to which this Wearables Installation Report belongs","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"siteId":{"description":"The ID of the site to which this Wearables Installation Report belongs","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"}},"required":["siteId","buildingId"],"type":"object"},"wearable-installation-reports.response":{"properties":{"building":{"$ref":"#/components/schemas/_wearable-installation-reports.building","description":"Contains the name and ID of the building to which this Wearables Installation Report belongs"},"buildingId":{"description":"The ID of the building to which this Wearables Installation Report belongs","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"completedAt":{"description":"The time the Wearables Installation Report was created","format":"date-time","type":"string"},"createdAt":{"description":"The time the Wearables Installation Report was created","format":"date-time","type":"string"},"createdByUser":{"$ref":"#/components/schemas/_wearable-installation-reports.user","description":"User information this user device is associated with"},"createdByUserId":{"description":"The ID of the user the wearable-installation-report is assigned to","format":"uuid","type":"string"},"id":{"description":"The ID of the Wearables Installation Report","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"site":{"$ref":"#/components/schemas/_wearable-installation-reports.site","description":"Contains the name and ID of the site to which this Wearables Installation Report belongs"},"siteId":{"description":"The ID of the site to which this Wearables Installation Report belongs","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"wearable-installation-reports_end.request":{"properties":{},"required":[],"type":"object"},"wearable-installation-reports_zones.response":{"properties":{"building":{"$ref":"#/components/schemas/_wearable-installation-reports.building","description":"Contains the name and ID of the building to which this Wearables Installation Report belongs"},"buildingId":{"description":"The ID of the building to which this Wearables Installation Report belongs","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"floor":{"$ref":"#/components/schemas/_wearable-installation-reports.floor","description":"Contains the name and ID of the floor to which this Wearables Installation Report belongs"},"floorId":{"description":"The ID of the floor to which this Wearables Installation Report belongs","example":"18e1f328-ffd0-4000-84d5-4a52e2fb2101","format":"uuid","type":"string"},"id":{"description":"The ID of the Wearables Installation Report zone","format":"uuid","type":"string"},"mostRecentResult":{"$ref":"#/components/schemas/_wearable-installation-reports.result","description":"The most recent result associated with this zone"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"site":{"$ref":"#/components/schemas/_wearable-installation-reports.site","description":"Contains the name and ID of the site to which this Wearables Installation Report belongs"},"siteId":{"description":"The ID of the site to which this Wearables Installation Report belongs","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"zone":{"$ref":"#/components/schemas/_wearable-installation-reports.zone","description":"Contains the name and ID of the zone to which this Wearables Installation Report belongs"},"zoneId":{"description":"The ID of the zone to which this Wearables Installation Report belongs","example":"18e1f328-ffd0-4000-8e64-4f8e4e3f1101","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"wearable-installation-reports_zones_record-comments.post-request":{"properties":{"comments":{"description":"An optional comment. Required when reason-code is other.","maximum":1024,"minimum":3,"type":"string"},"reasonCode":{"description":"The reason code result","enum":["ROOM_INACCESSIBLE","ROOM_MISSING","OTHER"],"type":"string"}},"required":["reasonCode"],"type":"object"},"wearable-installation-reports_zones_record-comments.response":{"properties":{"comments":{"description":"An optional comment. Required when reason-code is other.","maximum":1024,"minimum":3,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"reasonCode":{"description":"The reason code result","enum":["ROOM_INACCESSIBLE","ROOM_MISSING","OTHER"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"wearable-installation-reports_zones_record-telemetry-comments.post-request":{"properties":{"comments":{"description":"An optional comment to associate with the recorded telemetry report.","maximum":1024,"minimum":3,"type":"string"}},"required":[],"type":"object"},"wearable-installation-reports_zones_record-telemetry-comments.response":{"properties":{"comments":{"description":"An optional comment to associate with the recorded telemetry report.","maximum":1024,"minimum":3,"type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"wearable-installation-reports_zones_record-telemetry.post-request":{"properties":{"incidentId":{"description":"The ID of the Incident for which to reference tracking stream telemetry from.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"position":{"description":"A GeoJSON Point representing the expected location to which the user is standing","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"startedAt":{"description":"The time the telemetry should start.","format":"date-time","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream for which to reference telemetry from.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"}},"required":["startedAt","incidentId","trackingStreamId","position"],"type":"object"},"wearable-installation-reports_zones_record-telemetry.response":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"incidentId":{"description":"The ID of the Incident for which to reference tracking stream telemetry from.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"position":{"description":"A GeoJSON Point representing the expected location to which the user is standing","example":{"coordinates":[-89.50275,43.114705],"type":"Point"},"format":"json","type":"string"},"startedAt":{"description":"The time the telemetry should start.","format":"date-time","type":"string"},"trackingStreamId":{"description":"The ID of the Incident Tracking Stream for which to reference telemetry from.","example":"383439bd-d028-11ee-9027-05a8c3652e5e","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt"],"type":"object"},"webex-locations.response":{"properties":{"buildingId":{"description":"When included, searches locations for those with a rule matching the building ID","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"externalId":{"description":"The ID of the Webex Location in Webex","example":"Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzYyZmM5ODdiLTI2YmUtNDhkOC1hZDY2LWFiYWZhNGYxYjAzZA","maximum":10000,"type":"string"},"id":{"description":"The ID of the Webex Location","format":"uuid","type":"string"},"name":{"description":"The name of the Webex Location","example":"Headquarters","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"siteId":{"description":"When included, searches locations for those with a rule matching the site ID","format":"uuid","type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"webex-locations_rules.post-request":{"properties":{"buildingId":{"description":"The ID of the building this Webex Location rule is assigning to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"rank":{"description":"The number representing the order the rules will be applied from lowest to highest","type":"integer"},"rule":{"description":"A list of filters to be applied to devices from this Webex Location","format":"json","type":"string"},"siteId":{"description":"The ID of the site this Webex Location rule is assigning to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"type":{"description":"The type of operation that will be applied to the rule","enum":["ANY","OR"],"type":"string"}},"required":["webexLocationId","type","rule","rank","siteId","buildingId"],"type":"object"},"webex-locations_rules.put-request":{"properties":{"buildingId":{"description":"The ID of the building this Webex Location rule is assigning to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"rank":{"description":"The number representing the order the rules will be applied from lowest to highest","type":"integer"},"rule":{"description":"A list of filters to be applied to devices from this Webex Location","format":"json","type":"string"},"siteId":{"description":"The ID of the site this Webex Location rule is assigning to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"type":{"description":"The type of operation that will be applied to the rule","enum":["ANY","OR"],"type":"string"}},"required":[],"type":"object"},"webex-locations_rules.response":{"properties":{"building":{"$ref":"#/components/schemas/_webex-location-rules.building","description":"Contains the name and ID of the building to which this Webex Location rule is assigning to"},"buildingId":{"description":"The ID of the building this Webex Location rule is assigning to","example":"18e1f328-ffd0-4000-8faa-9f05022a0201","format":"uuid","type":"string"},"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"The ID of the Webex Location Rule","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"rank":{"description":"The number representing the order the rules will be applied from lowest to highest","type":"integer"},"rule":{"description":"A list of filters to be applied to devices from this Webex Location","format":"json","type":"string"},"site":{"$ref":"#/components/schemas/_webex-location-rules.site","description":"Contains the name and ID of the site to which this Webex Location rule is assigning to"},"siteId":{"description":"The ID of the site this Webex Location rule is assigning to","example":"7e893e7c-c9f8-11ee-8be6-9f8e7d0fa83e","format":"uuid","type":"string"},"type":{"description":"The type of operation that will be applied to the rule","enum":["ANY","OR"],"type":"string"},"updatedAt":{"description":"When this resource was last updated","example":"2023-05-19T16:37:25.087Z","format":"date-time","type":"string"},"webexLocationId":{"description":"The ID of the Webex Location in InformaCast to which this rule belongs","format":"uuid","type":"string"}},"required":["permissions","updatedAt","createdAt","id"],"type":"object"},"webex-locations_update-rules.put-request":{"properties":{"rules":{"description":"A list of Webex Location Rules to be applied to devices from this Webex Location","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"},"webex-locations_update-rules.response":{"properties":{"rules":{"description":"A list of Webex Location Rules to be applied to devices from this Webex Location","items":{"type":"string"},"maximum":1024,"type":"array","uniqueItems":true}},"required":[],"type":"object"}},"responses":{"_all-permission-sets":{"content":{"application/json":{"schema":{"description":"The permission set names available to the user","example":[{"id":"fa1c0721-6bc1-11ef-a246-c706490e0002","name":"notification-sender"}],"items":{"properties":{"id":{"description":"The permission set UUID","format":"uuid","type":"string"},"name":{"description":"Kebab-case internal name for the permission set","enum":["admin","local-admin","notification-sender","notification-manager","bell-schedule-manager","incident-manager"],"type":"string"}},"type":"object"},"type":"array"}}},"description":"Kebab-case internal names of permission sets assigned to a user via their security group memberships and polices"},"_all-permissions":{"content":{"application/json":{"schema":{"description":"The available permissions","example":[{"spec":"/users","verbs":["get","post"]},{"spec":"/users/*","verbs":["get","put","delete"]}],"items":{"properties":{"spec":{"description":"Identifies the path to the resource(s) the user is permitted to act on","type":"string"},"verbs":{"description":"What operations are possible for the user to perform on the resource identified by `spec`","items":{"enum":["get","put","delete","post","patch"],"type":"string"},"type":"array"}},"type":"object"},"type":"array"}}},"description":"A compact representation of all permissions available to the specified user from any source"},"_applications_draft.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_applications_draft"}}},"description":"A successful application draft response"},"_badge.decommission.post.response":{"description":"A successful badge decommission response"},"_badge.recommission.post.response":{"description":"A successful badge recommission response"},"_beacon.decommission.post.response":{"description":"A successful beacon decommission response"},"_beacon.recommission.post.response":{"description":"A successful beacon recommission response"},"_beacon.reset.post.response":{"description":"A successful beacon reset response"},"_bell-schedules_clone.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_bell-schedules_clone"}}},"description":"A successful bell schedule clone response"},"_brandings_logo.list.response":{"content":{"image/*":{"schema":{"description":"The binary image data","example":"<89>PNG\n^Z\n^@^@^@^MIHDR...","format":"binary","type":"string"}}},"description":"A successful brandings logo response"},"_bulk-uploads.post.response":{"content":{"application/json":{"schema":{"properties":{"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","delete"],"items":{"enum":["get","delete"],"type":"string"},"type":"array"},"url":{"description":"The url that points to the appropriate AWS S3 bucket.","example":"https://example-rest-api-bulk-uploads.s3.amazonaws.com","format":"uri","type":"string"}},"type":"object"}}},"description":"A successful bulk upload creation response"},"_confirmation-requests_clone.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_confirmation-requests_clone"}}},"description":"A successful confirmation request clone response"},"_deletion.response":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"A more detailed description of the results of the operation.","example":"Resource deleted.","type":"string"},"resources":{"description":"Resources that were deleted.","items":{"example":{"id":"ffbed7e3-87c8-11ee-9e07-e918df6336d7"},"type":"object"},"type":"array"},"status":{"description":"The response status code. Success is indicated by 200.","example":200,"type":"integer"}},"type":"object"}}},"description":"A successful deletion response"},"_device-groups_clone.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_device-groups_clone"}}},"description":"A successful device group clone response"},"_distribution-lists_clone.post-response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_distribution-lists_clone"}}},"description":"A successful distribution list clone response"},"_distribution-lists_user-subscriptions.get.response":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"distributionListId":{"description":"Distribution List ID","format":"uuid","type":"string"},"id":{"description":"User Subscription ID","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subscriptionEndDate":{"description":"What time the subscription ends","format":"date-time","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"},"user":{"description":"The User to which Notifications should be delivered when the Distribution List attached to this subscription is listed as a recipient of the Notification.","properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"devices":{"description":"The user's registered devices for receiving notifications","items":{"properties":{"deviceIdentifier":{"description":"The device’s mobile number, APNS token, or GCM token (as determined by the value of the type parameter).","example":"+15558675309","type":"string"},"id":{"description":"The id of this specific device registration, allowing it to be manipulated or retrieved individually.","format":"uuid","type":"string"},"type":{"description":"The kind of device.","enum":["Android","apns","apns-desktop","msteams-chat","phone-call","singlewire:email","SMS","WNS"],"example":"phone-call","type":"string"}},"type":"object"},"type":"array"},"email":{"description":"User's email address","example":"john@gmail.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John","maximum":140,"type":"string"},"type":{"description":"The type of user","enum":["regular","application","anonymous"],"example":"regular","type":"string"}},"type":"object"},"userId":{"description":"User ID","format":"uuid","type":"string"},"userIsLocked":{"description":"Whether or not the user is locked (not allowed to access the system)","example":false,"type":"boolean"}},"type":"object"}}},"description":"A successful distribution list user subscription response"},"_distribution-lists_user-subscriptions.list.response":{"content":{"application/json":{"schema":{"properties":{"data":{"description":"The paginated resources","items":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"distributionListId":{"description":"Distribution List ID","format":"uuid","type":"string"},"id":{"description":"User Subscription ID","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subscriptionEndDate":{"description":"What time the subscription ends","format":"date-time","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"},"user":{"description":"The User to which Notifications should be delivered when the Distribution List attached to this subscription is listed as a recipient of the Notification.","properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"devices":{"description":"The user's registered devices for receiving notifications","items":{"properties":{"deviceIdentifier":{"description":"The device’s mobile number, APNS token, or GCM token (as determined by the value of the type parameter).","example":"+15558675309","type":"string"},"id":{"description":"The id of this specific device registration, allowing it to be manipulated or retrieved individually.","format":"uuid","type":"string"},"type":{"description":"The kind of device.","enum":["Android","apns","apns-desktop","msteams-chat","phone-call","singlewire:email","SMS","WNS"],"example":"phone-call","type":"string"}},"type":"object"},"type":"array"},"email":{"description":"User's email address","example":"john@gmail.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John","maximum":140,"type":"string"},"type":{"description":"The type of user","enum":["regular","application","anonymous"],"example":"regular","type":"string"}},"type":"object"},"userId":{"description":"User ID","format":"uuid","type":"string"},"userIsLocked":{"description":"Whether or not the user is locked (not allowed to access the system)","example":false,"type":"boolean"}},"type":"object"},"type":"array"},"next":{"description":"The token necessary to fetch the next page of results","example":null,"type":"string"},"partial":{"description":"Whether the response contains the remainder of the resources","example":false,"type":"boolean"},"previous":{"description":"The token necessary to fetch the previous page of results","example":null,"type":"string"},"total":{"description":"The total number of resources available in the system","example":1,"format":"int64","type":"integer"}},"required":["total","partial","data"],"type":"object"}}},"description":"A successful distribution list user subscriptions list response"},"_distribution-lists_user-subscriptions.post.response":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"distributionListId":{"description":"Distribution List ID","format":"uuid","type":"string"},"id":{"description":"User Subscription ID","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subscriptionEndDate":{"description":"What time the subscription ends","format":"date-time","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"},"user":{"description":"The User to which Notifications should be delivered when the Distribution List attached to this subscription is listed as a recipient of the Notification.","properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"devices":{"description":"The user's registered devices for receiving notifications","items":{"properties":{"deviceIdentifier":{"description":"The device’s mobile number, APNS token, or GCM token (as determined by the value of the type parameter).","example":"+15558675309","type":"string"},"id":{"description":"The id of this specific device registration, allowing it to be manipulated or retrieved individually.","format":"uuid","type":"string"},"type":{"description":"The kind of device.","enum":["Android","apns","apns-desktop","msteams-chat","phone-call","singlewire:email","SMS","WNS"],"example":"phone-call","type":"string"}},"type":"object"},"type":"array"},"email":{"description":"User's email address","example":"john@gmail.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John","maximum":140,"type":"string"},"type":{"description":"The type of user","enum":["regular","application","anonymous"],"example":"regular","type":"string"}},"type":"object"},"userId":{"description":"User ID","format":"uuid","type":"string"},"userIsLocked":{"description":"Whether or not the user is locked (not allowed to access the system)","example":false,"type":"boolean"}},"type":"object"}}},"description":"A successful distribution list user subscription creation response"},"_distribution-lists_user-subscriptions.put.response":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"distributionListId":{"description":"Distribution List ID","format":"uuid","type":"string"},"id":{"description":"User Subscription ID","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"subscriptionEndDate":{"description":"What time the subscription ends","format":"date-time","type":"string"},"updatedAt":{"description":"The last time the resource was updated.","format":"date-time","type":"string"},"user":{"description":"The User to which Notifications should be delivered when the Distribution List attached to this subscription is listed as a recipient of the Notification.","properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"devices":{"description":"The user's registered devices for receiving notifications","items":{"properties":{"deviceIdentifier":{"description":"The device's mobile number, APNS token, or GCM token (as determined by the value of the type parameter).","example":"+15558675309","type":"string"},"id":{"description":"The id of this specific device registration, allowing it to be manipulated or retrieved individually.","format":"uuid","type":"string"},"type":{"description":"The kind of device.","enum":["Android","apns","apns-desktop","msteams-chat","phone-call","singlewire:email","SMS","WNS"],"example":"phone-call","type":"string"}},"type":"object"},"type":"array"},"email":{"description":"User's email address","example":"john@gmail.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John","maximum":140,"type":"string"},"type":{"description":"The type of user","enum":["regular","application","anonymous"],"example":"regular","type":"string"}},"type":"object"},"userId":{"description":"User ID","format":"uuid","type":"string"},"userIsLocked":{"description":"Whether or not the user is locked (not allowed to access the system)","example":false,"type":"boolean"}},"type":"object"}}},"description":"A successful distribution list user subscription update response"},"_features.response":{"content":{"application/json":{"schema":{"properties":{"features":{"description":"A list of features that are enabled","example":[{"enabled":true,"name":"sms","variant":true},{"enabled":true,"name":"max-emergency-calling-buildings","variant":3}],"items":{"properties":{"enabled":{"description":"Whether the feature is enabled for this user","type":"boolean"},"name":{"description":"The name of the feature","type":"string"},"variant":{"description":"Optional; The variant value of the feature if one exists, the type and structure varies on each feature","type":"any"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"A successful features list response"},"_gateway.certificate.get.response":{"content":{"text/plain":{"schema":{"description":"The text contents of the certificate","example":"-----BEGIN CERTIFICATE-----...","type":"string"}}},"description":"A successful gateway certificate response"},"_gateway.decommission.post.response":{"description":"A successful gateway decommission response"},"_gateway.private_key.get.response":{"content":{"text/plain":{"schema":{"description":"The text contents of the private key","example":"-----BEGIN RSA ...","type":"string"}}},"description":"A successful gateway private key response"},"_gateway.recommission.post.response":{"description":"A successful gateway recommission response"},"_gateway.refresh_connection_status.post.response":{"content":{"application/json":{"schema":{"properties":{"connectionStatus":{"description":"The current status of the gateway connection","enum":["connected","disconnected"],"type":"string"},"lastUplinkReceivedAt":{"description":"The ISO8601 timestamp of the last received uplink","example":"2026-01-12T16:25:03.648418207Z","format":"date-time","type":"string"}},"required":["lastUplinkReceivedAt","connectionStatus"],"type":"object"}}},"description":"A successful gateway refresh connection status response"},"_gateway.reset.post.response":{"description":"A successful gateway reset response"},"_gateway.rotate_certificate.post.response":{"description":"A successful gateway certificate rotation response"},"_gateway.service_endpoints.get.response":{"content":{"application/json":{"schema":{"properties":{"CUPS":{"description":"The CUPS service endpoint","properties":{"serverTrust":{"description":"The CUPS server trust","pattern":"^-----BEGIN CERTIFICATE-----\\n[a-zA-Z0-9+/=\\n]+-----END CERTIFICATE-----\\n$","type":"string"},"serviceEndpoint":{"description":"The CUPS service endpoint","format":"uri","type":"string"}},"required":["serviceEndpoint","serverTrust"],"type":"object"},"LNS":{"description":"The LNS service endpoint","properties":{"serverTrust":{"description":"The LNS server trust","pattern":"^-----BEGIN CERTIFICATE-----\\n[a-zA-Z0-9+/=\\n]+-----END CERTIFICATE-----\\n$","type":"string"},"serviceEndpoint":{"description":"The LNS service endpoint","format":"uri","type":"string"}},"required":["serviceEndpoint","serverTrust"],"type":"object"}},"required":["CUPS","LNS"],"type":"object"}}},"description":"A successful gateway certificate response"},"_incident-plans.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_incident-plans_post_response"}}},"description":"A successful incident plan post response"},"_incident-resource-file.get-response":{"content":{"application/msword":{"schema":{"description":"The Microsoft Word data for the incident resource","format":"binary","type":"string"}},"application/pdf":{"schema":{"description":"The PDF for the incident resource","format":"binary","type":"string"}},"application/vnd.ms-excel":{"schema":{"description":"The Microsoft Excel data for the incident resource","format":"binary","type":"string"}},"application/vnd.ms-powerpoint":{"schema":{"description":"The Microsoft PowerPoint data for the incident resource","format":"binary","type":"string"}},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"schema":{"description":"The Microsoft PowerPoint data for the incident resource","format":"binary","type":"string"}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"description":"The Microsoft Excel data for the incident resource","format":"binary","type":"string"}},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"schema":{"description":"The Microsoft Word data for the incident resource","format":"binary","type":"string"}},"image/bmp":{"schema":{"description":"The BMP image data for the incident resource","format":"binary","type":"string"}},"image/jpeg":{"schema":{"description":"The JPEG image data for the incident resource","format":"binary","type":"string"}},"image/png":{"schema":{"description":"The PNG image data for the incident resource","format":"binary","type":"string"}},"image/svg+xml":{"schema":{"description":"The SVG image data for the incident resource","format":"binary","type":"string"}},"text/plain":{"schema":{"description":"The text data for the incident resource","format":"binary","type":"string"}}},"description":"A successful load request content response"},"_incident-resource-file.redirect-response":{"description":"A successful incident resource request redirect response","headers":{"location":{"description":"Where the content can be found","schema":{"description":"URL from which to fetch the content","type":"string"}}}},"_manage-sites.get-response":{"content":{"application/json":{"schema":{"properties":{"import":{"description":"Dictionary object containing the import info for zoom and kontaktioWearablePanicButton. Has a boolean for imported and a date for importDate. Only returned on a GET.","properties":{"kontaktioWearablePanicButton":{"description":"This is one of the possible source values","properties":{"importDate":{"description":"Date of the `externalSource` being created","format":"date-time","type":"string"},"imported":{"description":"True if at least one `site` has been imported and has an `externalSource`","example":"true","type":"boolean"}},"type":"object"},"zoom":{"description":"This is one of the possible source values","properties":{"importDate":{"description":"Date of the `externalSource` being created","format":"date-time","type":"string"},"imported":{"description":"True if at least one `site` has been imported and has an `externalSource`","example":"true","type":"boolean"}},"type":"object"}},"type":"object"}},"type":"object"}}},"description":"A successful import status response"},"_manage-sites.post-response":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"Message from the server on whether the action was successful. Only returned in a POST.","example":"Import successful","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"}},"type":"object"}}},"description":"A successful sites management response"},"_message-template.audio.get.response":{"content":{"audio/u-law":{"schema":{"description":"The μ-law audio returned when `convert` was not specified","example":"RIFF<A2><81>^@^@WAVEfmt ^...","format":"binary","type":"string"}},"audio/wav":{"schema":{"description":"The PCM audio returned when `convert` was sent as `pcm`","example":"RIFF^F<D3>^A^@WAVEfmt...","format":"binary","type":"string"}}},"description":"A successful message template audio response"},"_message-template.image.get.response":{"content":{"image/gif":{"schema":{"description":"The binary GIF image data","example":"GIF87ad^@d^@<F7>^@^@^G^F^B^F^G^W^D^V...","format":"binary","type":"string"}},"image/jpeg":{"schema":{"description":"The binary JPEG image data","example":"<FF><D8><FF><E0>^@^PJFIF^@^A^A^A^@H^@H^@^@<FF><E1>^@<80>Exif^@...","format":"binary","type":"string"}},"image/png":{"schema":{"description":"The binary PNG image data","example":"<89>PNG\n^Z\n^@^@^@^MIHDR...","format":"binary","type":"string"}}},"description":"A successful message template image response"},"_message-templates_clone.post-response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_message_templates_clone"}}},"description":"A successful message template clone response"},"_not-found.response":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"A text description of the status of the operation.","example":"Not Found","type":"string"},"status":{"description":"The response status code. Not Found is indicated by the failure code 404.","example":404,"type":"integer"},"type":{"description":"Identifies the type of this unsuccessful response.","example":"not-found","type":"string"}},"type":"object"}}},"description":"A response indicating a resource was not found"},"_notification-profiles_attachments.get.response":{"content":{"audio/wav":{"schema":{"description":"The PCM audio data","example":"RIFF^F<D3>^A^@WAVEfmt...","format":"binary","type":"string"}},"image/gif":{"schema":{"description":"The binary GIF image data","example":"GIF87ad^@d^@<F7>^@^@^G^F^B^F^G^W^D^V...","format":"binary","type":"string"}},"image/jpeg":{"schema":{"description":"The binary JPEG image data","example":"<FF><D8><FF><E0>^@^PJFIF^@^A^A^A^@H^@H^@^@<FF><E1>^@<80>Exif^@...","format":"binary","type":"string"}},"image/png":{"schema":{"description":"The binary PNG image data","example":"<89>PNG\n^Z\n^@^@^@^MIHDR...","format":"binary","type":"string"}}},"description":"A successful notification profile attachment download response"},"_notification-profiles_clone.post-response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_notification_profiles_clone"}}},"description":"A successful notification profile clone response"},"_notification-profiles_ip_speaker_asset.get.response":{"content":{"application/zip":{"schema":{"description":"The zip file","example":"PK_u/O�i*E��K6���tS�0��SRP_Lockdown.zipux","format":"binary","type":"string"}}},"description":"A successful notification profile IP speaker asset download response"},"_notification-profiles_ip_speaker_asset_example_image.get.response":{"content":{"application/zip":{"schema":{"description":"The binary PNG image data","example":"<89>PNG\n^Z\n^@^@^@^MIHDR...","format":"binary","type":"string"}}},"description":"A successful notification profile IP speaker asset example image download response"},"_notification.audio.get.response":{"content":{"audio/u-law":{"schema":{"description":"The μ-law audio returned when `convert` was not specified","example":"RIFF<A2><81>^@^@WAVEfmt ^...","format":"binary","type":"string"}},"audio/wav":{"schema":{"description":"The PCM audio returned when `convert` was sent as `pcm`","example":"RIFF^F<D3>^A^@WAVEfmt...","format":"binary","type":"string"}}},"description":"A successful notification audio response"},"_notification.audio.redirect.response":{"description":"A successful notification audio redirect response","headers":{"location":{"description":"Where the content can be found","schema":{"description":"URL from which to fetch the content","type":"string"}}}},"_notification.image.get.response":{"content":{"image/gif":{"schema":{"description":"The binary GIF image data","example":"GIF87ad^@d^@<F7>^@^@^G^F^B^F^G^W^D^V...","format":"binary","type":"string"}},"image/jpeg":{"schema":{"description":"The binary JPEG image data","example":"<FF><D8><FF><E0>^@^PJFIF^@^A^A^A^@H^@H^@^@<FF><E1>^@<80>Exif^@...","format":"binary","type":"string"}},"image/png":{"schema":{"description":"The binary PNG image data","example":"<89>PNG\n^Z\n^@^@^@^MIHDR...","format":"binary","type":"string"}}},"description":"A successful notification image response"},"_notification.image.redirect.response":{"description":"A successful notification image redirect response","headers":{"location":{"description":"Where the content can be found","schema":{"description":"URL from which to fetch the content","type":"string"}}}},"_reports.get.response":{"content":{"example":{}},"description":"For information about the various report responses, please see [here](#tag--Reports)."},"_ring-lists_clone.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ring-lists_clone"}}},"description":"A successful ring list clone response"},"_rostering-members.get.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_rostering-members.get"}}},"description":"A successful rostering members get response"},"_rostering-members.list.response":{"content":{"application/json":{"schema":{"properties":{"data":{"description":"The paginated resources","items":{"$ref":"#/components/schemas/_rostering-members.list","type":"object"},"type":"array"},"next":{"description":"The token necessary to fetch the next page of results","example":null,"type":"string"},"partial":{"description":"Whether the response contains the remainder of the resources","example":false,"type":"boolean"},"previous":{"description":"The token necessary to fetch the previous page of results","example":null,"type":"string"},"total":{"description":"The total number of resources available in the system","example":1,"format":"int64","type":"integer"}},"required":["total","partial","data"],"type":"object"}}},"description":"A successful rostering members list response"},"_rostering-members.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_rostering-members.post"}}},"description":"A successful rostering members post response"},"_rostering-members.put.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_rostering-members.put"}}},"description":"A successful rostering members put response"},"_scenarios_clone.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_scenarios_clone"}}},"description":"A successful scenarios clone response"},"_scheduled-notifications_clone.post.response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_scheduled-notifications_clone"}}},"description":"A successful scheduled notification clone response"},"_security-groups_clone-to-facilities.post.response":{"content":{"application/json":{"schema":{"properties":{"copiedSecurityGroups":{"description":"The copied resources","items":{"properties":{"id":{"description":"The id of the copied group record","format":"uuid","type":"string"},"name":{"description":"The name of the copied group record","example":"Cool Site - Cool Group","maximum":140,"type":"string"}},"type":"object"},"type":"array"}},"type":"object"}}},"description":"A successful security group clone to facilities response"},"_security-groups_clone.post.response":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"description":"The time the resource was created.","format":"date-time","type":"string"},"id":{"description":"Security Group ID","format":"uuid","type":"string"},"name":{"description":"Security Group name","example":"Body Guards (Copy)","maximum":140,"type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":[],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"superGroup":{"description":"Whether this group has all possible permissions","example":false,"type":"boolean"}},"type":"object"}}},"description":"A successful security group clone response"},"_security-groups_members.get.response":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"The id of the membership record","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityGroupId":{"description":"The id of the Security Group the user belongs to.","format":"uuid","type":"string"},"user":{"description":"The User identified as a member of the security group.","properties":{"email":{"description":"User's email address","example":"john@gmail.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John","maximum":140,"type":"string"},"type":{"description":"Type of User","enum":["regular","anonymous","application","endpoint","support","rostered"],"example":"regular","type":"string"}},"type":"object"},"userId":{"description":"The id of the member user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"type":"object"}}},"description":"A successful security group member response"},"_security-groups_members.list.response":{"content":{"application/json":{"schema":{"properties":{"data":{"description":"The paginated resources","items":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"The id of the membership record","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityGroupId":{"description":"The id of the Security Group the user belongs to.","format":"uuid","type":"string"},"user":{"description":"The User identified as a member of the security group.","properties":{"email":{"description":"User's email address","example":"john@gmail.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John","maximum":140,"type":"string"},"type":{"description":"Type of User","enum":["regular","anonymous","application","endpoint","support","rostered"],"example":"regular","type":"string"}},"type":"object"},"userId":{"description":"The id of the member user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"type":"object"},"type":"array"},"next":{"description":"The token necessary to fetch the next page of results","example":null,"type":"string"},"partial":{"description":"Whether the response contains the remainder of the resources","example":false,"type":"boolean"},"previous":{"description":"The token necessary to fetch the previous page of results","example":null,"type":"string"},"total":{"description":"The total number of resources available in the system","example":1,"format":"int64","type":"integer"}},"required":["total","partial","data"],"type":"object"}}},"description":"A successful security group member list response"},"_security-groups_members.post.response":{"content":{"application/json":{"schema":{"properties":{"createdAt":{"description":"When this resource was created","example":"2022-12-01T21:08:31.433Z","format":"date-time","type":"string"},"id":{"description":"The id of the membership record","format":"uuid","type":"string"},"permissions":{"description":"Which operations are possible on this resource, given the authentication token being used to access the API","example":["get","put"],"items":{"enum":["get","put","delete"],"type":"string"},"type":"array"},"securityGroupId":{"description":"The id of the Security Group the user belongs to.","format":"uuid","type":"string"},"user":{"description":"The User identified as a member of the security group.","properties":{"email":{"description":"User's email address","example":"john@gmail.com","maximum":254,"type":"string"},"id":{"description":"TimeUUID identifier of user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"},"name":{"description":"User's name","example":"John","maximum":140,"type":"string"},"type":{"description":"Type of User","enum":["regular","anonymous","application","endpoint","support","rostered"],"example":"regular","type":"string"}},"type":"object"},"userId":{"description":"The id of the member user","example":"ea0b5ce4-7a8b-11ee-bc97-1de018eb9fe0","format":"uuid","type":"string"}},"type":"object"}}},"description":"A successful security group member creation response"},"_session.delete.response":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"A more detailed description of the results of the operation.","example":"Session deleted.","type":"string"},"status":{"description":"The response status code. Success is indicated by 200.","example":200,"type":"integer"}},"type":"object"}}},"description":"A successful logout response"},"_session.get.response":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"The email address of the user associated with the session","example":"jackson@example.com","type":"string"},"features":{"description":"A list of features that are enabled.","example":["appleDevPush","applePush","appleQaPush","conferenceCall","cucmEnabled","email","firebasePush","fusion","gms","maxEmergencyCallingBuildings","mobilePush","openApi","paneBasedSitesUi","phoneCall","rapidsosEnabled","sms","webexTeams","zoom","zoomSites"],"items":{"enum":["phoneCall","applePush","desktopNotifier","outboundCapDevice","outboundCap","webexTeams","inboundCap","facebook","firebasePush","dnd","inboundRss","reporting","conferenceCall","email","sms","msteamsChat","msteamsCall","fusion","failover","cucmEnabled","gms","demo"],"type":"string"},"type":"array"},"idleTimeout":{"description":"The idle time (in minutes) after which the session will time out","example":720,"type":"integer"},"idleTimeoutCustom":{"description":"Whether the user associated with the session has a custom `idleTimeout` value or is using the system default","type":"boolean"},"isLicenseValid":{"description":"Whether the provider to which the session is logged in has a current, valid license","example":true,"type":"boolean"},"name":{"description":"The name of the user associated with the session","example":"Jackson Doe","type":"string"},"providerDisplayName":{"description":"The display name of the provider (account) to which the session is logged in.","example":"ABC Schools","type":"string"},"providerExpiration":{"description":"When this provider (account) is configured to expire, if ever","example":null,"format":"date-time","type":"string"},"providerId":{"description":"The `id` of the provider (account) to which the session is logged in","format":"uuid","type":"string"},"providerName":{"description":"The name of the provider (account) to which the session is logged in; this defines which set of API resources are being accessed","example":"ABC Schools","type":"string"},"serverSupportedFeatures":{"description":"Values here are used internally to ensure consistent behavior across cloud services and Fusion servers. A list of features supported by the Fusion servers based on the minimum version among them. This means that a feature is only included here if all of the registered Fusion servers are at or above the required version for that feature.","example":[],"items":{"type":"string"},"type":"array"},"userId":{"description":"The `id` of the user associated with the session; this user’s permissions and security groups are what control access to API resources for requests with this access token","format":"uuid","type":"string"}},"type":"object"}}},"description":"A successful session response"},"_supervisor.decommission.post.response":{"description":"A successful supervisor decommission response"},"_supervisor.recommission.post.response":{"description":"A successful supervisor recommission response"},"_supervisor.reset.post.response":{"description":"A successful supervisor reset response"},"_too-many-requests.response":{"description":"The client has exceeded the rate limit for requests. See the [throttling section](#throttling) for more information."},"_tts.get.response":{"content":{"audio/wav":{"schema":{"description":"The PCM audio data","example":"RIFF^F<D3>^A^@WAVEfmt...","format":"binary","type":"string"}}},"description":"A successful TTS preview response"},"_tts.post.response":{"content":{"application/json":{"schema":{"properties":{"audioHash":{"description":"The hash identifying this text-to-speech preview.","example":"a7934fa8e53ccfca8e8422298d3eef128978ddff89bffb2effe74c38d5f9e89c","type":"string"},"audioSize":{"description":"The size, in bytes, of the preview audio.","example":8072,"type":"number"}}}}},"description":"A successful TTS preview creation response"},"_unauthorized.response":{"content":{"application/json":{"schema":{"properties":{"message":{"description":"A text description of the status of the operation.","example":"Unauthorized","type":"string"},"status":{"description":"The response status code. Unauthorized is indicated by the failure code 401.","example":401,"type":"integer"},"type":{"description":"Identifies the type of this unsuccessful response.","example":"unauthorized","type":"string"}},"type":"object"}}},"description":"An authorization failure response"},"load-definitions_load-requests_content.get-response":{"content":{"application/xslx":{"schema":{"description":"The uploaded Excel template","format":"binary","type":"string"}},"text/csv":{"schema":{"description":"The uploaded comma-separated-value file","example":"name,email,tags,sms1,sms2,sms3,disable_new_sms,phone_call1,phone_call2,phone_call3,disable_new_phone_calls,email1,email2,email3,disable_new_emails\nGeorge Harrison,gharrison@gmail.com,ecSecurity allDeans allStaff,16085551234,,,false,16085555678,,,false,thequietone@gmail.com,,,false\nJohn Lennon,jlennon@gmail.com,allStaff,,,,,,,,,,,,\nRingo Starr,rstarr@gmail.com,allStaff,,,,,,,,,,,,\nPaul McCartney,pmccartney@gmail.com,allStaff,,,,,,,,,,,,\nPete Best,yournamehere@gmail.com,Attendance,,,,,,,,,,,,","type":"string"}}},"description":"A successful load request content response"},"load-definitions_load-requests_log.get-response":{"content":{"text/plain":{"schema":{"description":"Log entries describing the progress and/or result of the load request","example":"Created user example@example.org.\nAdded user example@example.org to security group Admin.\nAdded user example@example.org to distribution list Staff.\nAdded user example@example.org to distribution list Administrator Alerts.\nAdded SMS device with number \"+8657195017\" to user example@example.org.\nFailed to add phone device to user example@example.org because \"+86 571 95017\" is in a country we do not support.\nAdded email device with email \"example@example.org\" to user example@example.org.","type":"string"}}},"description":"A successful load request logs response"},"load-definitions_template.get-response":{"content":{"application/xslx":{"schema":{"description":"The Excel template to be populated and uploaded","format":"binary","type":"string"}}},"description":"A successful load definition template response"}}}}