openapi: 3.0.0
info:
  title: signageOS REST API
  version: 0.0.0
  contact:
    name: SignageOS Support
    url: https://docs.signageos.io
  termsOfService: https://www.signageos.io/legal
  license:
    name: Propriatary
    url: https://www.signageos.io/legal
  description: |
    ## Introduction

    signageOS helps any developer to build apps for digital signage devices (SOC displays and media players) and remotely manage
    large networks of these devices in a standardized way. No matter what display you
    are using, all APIs work across all of them.

    ### Resources

    * [signageOS](https://www.signageos.io) website 

    * [signageOS Docs](https://docs.signageos.io) - documentation for users  

    * [signageOS Developers](https://developers.signageos.io) - documentation for developers

    * [All supported devices](https://docs.signageos.io/hc/en-us/sections/4405700629266-Supported-Devices)

    ### Device Plans

    You need [signageOS CloudControl](https://www.signageos.io/pricing/device-management) with Device Plan that
    enables you to generate token and use REST API.

    ## REST API Authentication

    For REST API your application needs to be authenticated using request
    `Header: X-Auth` which is unique per user and organization.

    ### Where to get Organization token XAuthOrganization

    Organization token is referred to as XAuthOrganization in the API.

    1.  Go to [Organizations section](https://box.signageos.io/organizations) in
    signageOS Box and generate your token_id & token_secret. 
    1.  Use it as `X-Auth` header separated by **colon** -
    `__TOKEN_ID:__TOKEN_SECRET__`.

    ### Where to get Account token

    Account token is referred to as XAuthAccount in the API.<br/><br/>

    1.  Go to [Account profile section](https://box.signageos.io/profile) in
    signageOS Box and generate your Account token_id & token_secret.
    1.  Use it as `X-Auth` header separated by **colon** -
    `__TOKEN_ID:__TOKEN_SECRET__`.

    ``` bash
    # X-Auth = client_id:client_secret

    curl -XGET -H "X-Auth:
    87e376c08d16XXXXb796294744:5ef829c933aXXXX710f5388a27fee" \
      https://api.signageos.io/v1/device

    ```

    ## REST API Request Quota and Rate Limiting

    signageOS REST API automatically applies quotas on REST requests. The quota
    is counted per IP address of the Request origin.

    The quota is set to `200 requests per second` for instant response and `500
    queued requests` with a slightly delayed response based on request type and
    performance.

    If you reach the quota API returns `429 Too Many Requests` response.

    ## Fair User Policy

    Based on your Device Plan you are eligible for a given number of API request per device per day.
    If you exceed the quota for 2 consecutive months it might result in a temporary ban and you will be notified via email.

    ## Pagination

    There is enforced maximum length of data that can be returned in a single response. If there's more data available, than the limit allows, data will be returned in multiple pages.
    Cursor based pagination will be used. `https://jsonapi.org/profiles/ethanresnick/cursor-pagination/#auto-id-query-parameters`

    Parameter `limit` can be used for setting the page size. Setting the limit over the max allowed limit will result in error.
    Beware not to change the limit in the middle of the process of fetching pages. If a different limit is specified, process needs to be started over from the first page.

    Request without additional parameters will return the first page. If there are more data available, the response will contain a header "Link" that will contain the link to the next page, e.g. `<https://api.signageos.io/v1/device?until=2021-11-01T00%3A33%3A38.918Z>; rel="next"`.
    Then by performing another request with the link next page will be returned. Each response will contain a link to the next page until there are no more data left.

    ## Url structure

    ### List parameters

    There are two ways lists could be encoded:

    * ``` ... <LIST_PARAM_NAME>=<VALUE_0>&<LIST_PARAM_NAME>=<VALUE_1>&<LIST_PARAM_NAME>=<VALUE_2> ... ```
    * ``` ... <LIST_PARAM_NAME>=<VALUE_0>,<VALUE_1>,<VALUE_2>... ```

    For example, list with values `uid1`, `uid2`, `uid3`, encoded in URL as parameter `deviceUid` will look like this:

    ```
    deviceUid=uid1&deviceUid=uid2&deviceUid=uid3
    ```
    or
    ```
    deviceUid=uid1,uid2,uid3
    ```

    > In the case of comma-separated values, any string value containing a comma should be escaped.

    ## Asynchronous REST API Requests

    While some of API endpoints can be “fire and forget”, i.e. there is no need to report back to the client, for example, when initiating a bulk actions.
    For others, the **client may need a response, but can't get it in the original request** because of the long processing time, i.e. in case of firmware upgrade request or Applet operations.
    In those cases, we have to do a "pre-flight" check and connect directly with device to execute the action, which can be a time-consuming process, often better performed asynchronously.

    For these asynchronous operations (typically all `/device/xxxx` endpoints) we adopted a **polling strategy**.
    Clients can retrieve the results of asynchronous requests by polling a special endpoint that will return the result of the request, once it's available.

    ### Standard Flow Example

    1. The client sends the `PUT` request - set brightness to 100% - to the server to begin the operation.
    1. The server accepts the request, confirming by `200 OK` message.
    1. The asynchronous process begins on the server side, triggering desired function - connecting to device, setting a brightness and confirming the value was set and accepted by the device.
    1. Finally, the server finished the action by receiving a confirmation from the device - brightness successfully set to 100%.

    During this process, the client polls the `GET` URI of the brightness endpoint. The server returns the status of the last request:

    ``` json
    {
      "uid": "deed07d35fdxxx",
      "deviceUid": "e824fcd24a4fxxx",
      "createdAt": "2022-07-22T12:06:45.540Z",
      "succeededAt": "2022-07-22T12:06:55.850Z",
      "failedAt": null,
      "brightness1": 90,
      "brightness2": 40,
      "timeFrom1": "09:00:00",
      "timeFrom2": "20:00:00"
    }
    ```

    Status of the operation is available under `succeededAt` and `failedAt` keys.
    If the request succeeeded, `succeededAt` will be set. If it failed, `failedAt` will be set.
    If non of the two are set, it means that the request is still pending.

    ![Flow diagram of async requests](https://public.docs.signageos.io/api/rest_api_flow.png)

    ### Important consideration

    In the polling pattern, the client must decide how frequently to poll the URL and when to give up.
    One common choice is exponential backoff, which increases the interval between checks until a maximum interval is reached or the response (succeededAt/failedAt) is received.
servers:
  - url: https://api.signageos.io
    description: Main production API server
  - url: https://{host}
    description: Custom host (advanced)
    variables:
      host:
        default: api.signageos.io
        description: Hostname of production server
security:
  - XAuthOrganization: []
  - XAuthAccount: []
tags:
  - name: Account
    description: Manage account
  - name: Alert
    description: Manage alerts
  - name: Alert/Rule
    description: Manage alert rules for organization
  - name: Applet
    description: |-
      The Applet is an HTML5/Javascript application that runs within the signageOS Core App. Applet can leverage the Applet JS API for easy access to the device native functions like saving files into internal memory and using accelerated video playback among others.
      *   [Start Your Development With signageOS CLI](https://docs.signageos.io/hc/en-us/articles/4405111438354)
      *   [Applet-related documentation](https://docs.signageos.io/hc/en-us/articles/4405070294674-Hello-World-Setup-Developer-Environment) on signageOS Docs
  - name: Applet/Applet Tests
    description: Manage applet version test suites
  - name: Applet/Command
    description: Send commands to applets running on devices.
  - name: Bulk Operation
    description: Bulk operations allow you to perform the same action on multiple devices simultaneously. This is useful for managing large device networks efficiently.
  - name: BulkProvisioning/Recipe
    description: Manage device bulk provisioning recipes
  - name: Company
    description: Manage companies
  - name: Company/Credit Transaction
    description: Manage credit transactions for companies including redeeming, charging, and setting balances.
  - name: Company/Member
    description: Manage company members.
  - name: Company/Public Key
    description: Manage company public keys.
  - name: Configuration
    description: Device configuration management.
  - name: ContentGuardCategory (Coming Soon)
    description: Manage content guard categories
  - name: ContentGuardItem (Coming Soon)
    description: Manage content guard items
  - name: CustomScript
    description: Manage custom scripts that can be executed on devices.
  - name: CustomScript/Version
    description: Manage versions of custom scripts.
  - name: CustomScript/Version/Platform
    description: Manage platform-specific versions of custom scripts.
  - name: Device
    description: |-
      **Device** is any digital signage display, player, Windows machine, Raspberry Pi 3, and Raspberry Pi 4. You can see [all supported devices here](https://docs.signageos.io/hc/en-us/sections/4405700629266-Supported-Devices)
      No matter what device you are using, the APIs are standardized across all of them.
  - name: Device/ActionLog (Device History)
    description: View actions on devices
  - name: Device/Alive
    description: View device alivness checks
  - name: Device/Applet
    description: Manage assigned applets to devices
  - name: Device/Applet Command
    description: Manage active applet on devices
  - name: Device/Application Version and update
    description: To use any of the supported devices, you need the [signageOS Core App](https://docs.signageos.io/hc/en-us/articles/4405381466898). signageOS Core Apps are a natively-built application for various platforms allowing you to run your HTML5/JS application (aka Applet).
  - name: Device/AutoRecovery
    description: Manage auto recovery settings for devices
  - name: Device/Brightness
    description: Set device brightness
  - name: Device/Connect
    description: Manage device connection to an applet
  - name: Device/Custom Script
    description: Manage custom scripts on devices.
  - name: Device/Debug
    description: Manage debug mode for devices
  - name: Device/Extended Management Remote Server
    description: Manage extended management remote server device settings
  - name: Device/Firmware
    description: Manage device firmware
  - name: Device/Kiosk mode & IR Remote Control
    description: Configure kiosk and remote control device settings
  - name: Device/Location
    description: Manage device locations
  - name: Device/Monitoring
    description: View device uptime and relevant metrics
  - name: Device/Organization
    description: Set device organization
  - name: Device/Orientation and Resolution
    description: Manage device orientation and resolution
  - name: Device/Packages
    description: Manage device packages
  - name: Device/PeerRecovery
    description: Manage peer recovery settings
  - name: Device/Pin code and security
    description: Manage device pin codes
  - name: Device/Plugin
    description: Plugin management for devices.
  - name: Device/Policy
    description: Manage device policy assignments
  - name: Device/Policy Status
    description: |-
      Policy status provides list of Device Policies assigned to the device.
      You get the exact Policy used and list of settings this policy affects (e.g.: volume, brightness, timers,...)
  - name: Device/Power Actions
    description: Reboot, restart, refresh the device
  - name: Device/Provisioning, Adding and removing devices
    description: Manage device provisioning
  - name: Device/Revoke Key
    description: Manage device key revocation.
  - name: Device/Runner
    description: Runner management for devices.
  - name: Device/Screen Capture
    description: Capture and manage device screenshots for monitoring and debugging purposes.
  - name: Device/Screenshots
    description: View and request device screenshots
  - name: Device/Security
    description: Device security and authentication endpoints.
  - name: Device/Storage
    description: View device storage
  - name: Device/System Log
    description: Access and manage device system logs for monitoring and debugging.
  - name: Device/Tag (Device Tags)
    description: Manage tags associated with devices for organization and filtering.
  - name: Device/Telemetry
    description: |-
      View device telemetry
      **IMPORTANT**: Telemetry works on the following Core Apps versions or later
      | Platform     | Min. version |
      | ------------ | ------------ |
      | Tizen        | 2.3.0        |
      | webOS        | 2.3.0        |
      | Brightsign   | 1.5.0        |
      | Android      | 3.13.0       |
      | signageOS OS | 2.0.0        |
      | Windows      | 2.2.0        |
  - name: Device/Tests
    description: Manage device feature tests
  - name: Device/Time
    description: Manage device time settings and NTP.
  - name: Device/Timers
    description: Scheduled turning on and off devices based on day in a week and time.
  - name: Device/Volume
    description: Set device volume
  - name: Device/VPN
    description: Manage device VPN settings
  - name: Emulator
    description: Create and manage emulators
  - name: Export
    description: Export data from the system, including device information and other resources.
  - name: Firmware
    description: Get list of available firmware
  - name: Front Applet
    description: View JS API versions
  - name: License
    description: License management endpoints.
  - name: Location
    description: Location creation and management
  - name: Location/Tag
    description: Location tagging
  - name: Organization
    description: Organization creation and management
  - name: Organization/Member
    description: Manage organization members.
  - name: Organization/System Log
    description: Organization system log endpoints.
  - name: Organization/VPN
    description: Organization VPN configuration.
  - name: Package
    description: Manage Android APK packages on devices.
  - name: Package/Version
    description: Manage versions of packages.
  - name: Plugin
    description: Plugin management functionality.
  - name: Plugin/Version
    description: Plugin version management.
  - name: Plugin/Version/Platform
    description: Platform-specific plugin version management.
  - name: Policy
    description: Create reusable rulesets and configurations for devices
  - name: Runner
    description: Runner management functionality.
  - name: Runner/Version
    description: Runner version management.
  - name: Runner/Version/Platform
    description: Platform-specific runner version management.
  - name: Tag
    description: Tags for devices and locations (policies coming soon!)
  - name: Timing
    description: Deprecated, see Device Applet instead
  - name: Uptime
    description: Device uptimes
paths:
  /v1/account:
    get:
      tags:
        - Account
      summary: Get Account
      description: Get the Account details for the current account
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: Deprecated - use `uid` instead. Will be removed in future versions.
                    deprecated: true
                  uid:
                    type: string
                  name:
                    type: string
                    description: Deprecated - use `firstname` instead. Will be removed in future versions.
                    deprecated: true
                  firstname:
                    type: string
                  lastname:
                    type: string
                  username:
                    type: string
                  settings:
                    type: object
                    additionalProperties: false
                    properties: &ref_1
                      language:
                        type: string
                      favorites:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              description: 'The type of the favorite. Must be one of the following values: "organization-monitoring", "location", "device-filter", "device".'
                              type: string
                              enum:
                                - organization-monitoring
                                - location
                                - device-filter
                                - device
                            entityId:
                              type: string
                            name:
                              type: string
                            companyUid:
                              type: string
                            filter:
                              type: object
                              properties:
                                organization:
                                  type: string
                                locationUids:
                                  type: array
                                  items:
                                    type: string
                                alertUid:
                                  type: string
                                onlyWithActiveAlerts:
                                  type: boolean
                                onlyWithActiveAlertByAlertUid:
                                  type: boolean
                                applicationType:
                                  type: string
                                brand:
                                  type: string
                                applicationTypeNotEqual:
                                  type: string
                                searchQuery:
                                  type: string
                                model:
                                  type: string
                                firmwareVersion:
                                  type: string
                                online:
                                  type: boolean
                                tags:
                                  type: array
                                  items:
                                    type: string
                                policies:
                                  type: array
                                  items:
                                    type: string
                                onlyWithTimeOutOfThreshold:
                                  type: boolean
                                applets:
                                  type: array
                                  items:
                                    type: string
                                activeAppletVersion:
                                  type: string
                                osVersions:
                                  type: array
                                  items:
                                    type: string
                                cities:
                                  type: array
                                  items:
                                    type: string
                                states:
                                  type: array
                                  items:
                                    type: string
                                countries:
                                  type: array
                                  items:
                                    type: string
                                connectivity:
                                  type: string
                                  enum:
                                    - all
                                    - online
                                    - offline
                                    - recentlyOffline
                                    - longerOffline
                                    - recentlyOnline
                                screenshotsImageHashes:
                                  type: array
                                  items:
                                    type: string
                                excludeScreenshotsImageHashes:
                                  type: boolean
                                cgiItemUids:
                                  type: array
                                  items:
                                    type: string
                                locationToExpand:
                                  type: string
                                alertUidToExpand:
                                  type: string
                          required:
                            - type
                            - entityId
                            - companyUid
                      completedOnboardingSteps:
                        type: array
                        items:
                          type: string
                    description: Settings for the account, like 'language', 'theme', etc. Mostly for internal use.
                  privileges:
                    type: array
                    items:
                      type: object
                      description: Represents a privilege assigned to an account, defining access role for a specific entity.
                      properties:
                        entity:
                          type: string
                          description: The type of entity the privilege targets.
                          enum:
                            - organization
                            - company
                            - companyNetwork
                        entityUid:
                          type: string
                          description: The unique identifier of the entity the privilege is assigned to.
                        role:
                          type: string
                          description: The role defining the level of access for the entity.
                          enum:
                            - owner
                            - master
                            - user
                            - guest
                            - viewer
                        assignedAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                      required:
                        - entity
                        - entityUid
                        - role
                        - assignedAt
                  licenses:
                    type: object
                    description: A map of organization UIDs to their assigned licenses.
                    additionalProperties:
                      type: array
                      items:
                        type: string
                        enum:
                          - dev_space
                  email:
                    type: string
                  accessLevel:
                    type: string
                    enum:
                      - preview
                      - open
                      - platform
                      - archived
                      - admin
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  isActive:
                    type: boolean
                  sessions:
                    type: array
                    items:
                      type: object
                      description: Represents an active session associated with the account.
                      properties:
                        sessionUid:
                          type: string
                          description: The unique identifier of the session.
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                      required:
                        - sessionUid
                        - createdAt
                required:
                  - id
                  - uid
                  - privileges
                  - email
                  - username
                  - accessLevel
                  - isActive
                  - createdAt
                  - updatedAt
                example:
                  id: 123
                  uid: '123'
                  firstname: John
                  lastname: Doe
                  username: johndoe
                  settings:
                    language: en
                  privileges:
                    - entity: company
                      entityUid: '123'
                      role: owner
                      assignedAt: '2021-01-01T00:00:00Z'
                  email: john.doe@example.com
                  accessLevel: open
                  isActive: true
                  createdAt: '2021-01-01T00:00:00Z'
                  updatedAt: '2021-01-01T00:00:00Z'
        '400':
          description: Bad request
          content: &ref_2
            application/json:
              schema:
                type: object
                properties: &ref_0
                  status:
                    type: integer
                  message:
                    type: string
                  errorCode:
                    type: integer
                  errorName:
                    type: string
                  errorDetail:
                    oneOf:
                      - type: string
                        title: string
                      - type: array
                        title: list of problems
                        items:
                          type: object
                          properties:
                            code:
                              type: string
                            path:
                              type: array
                              items:
                                type: string
                            message:
                              type: string
              example:
                status: 400
                message: Bad request
                errorCode: 400001
                errorName: EXAMPLE_BAD_REQUEST
                errorDetail: Example "400 Bad Request" error
        '403':
          description: Forbidden
          content: &ref_3
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 403
                message: Access forbidden
                errorCode: 403001
                errorName: EXAMPLE_ACCESS_FORBIDDEN
                errorDetail: Example "403 Forbidden" error
        '404':
          description: Not Found
          content: &ref_4
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found
                errorCode: 404001
                errorName: EXAMPLE_NOT_FOUND
                errorDetail: Example "404 Not Found" error
    put:
      tags:
        - Account
      summary: Update Account
      description: Update the Account details for the current account
      security:
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              example:
                firstname: John
                lastname: Doe
                settings:
                  language: en
                overwrite: true
              type: object
              properties:
                firstname:
                  type: string
                lastname:
                  type: string
                overwrite:
                  description: If true, the existing settings will be overwritten.
                  type: boolean
                  default: false
                settings:
                  description: Settings to update, like 'language', 'theme', etc. By default, the settings will be merged with the existing settings. Mostly for internal use.
                  type: object
                  additionalProperties: false
                  properties: *ref_1
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/account/security-token:
    post:
      tags:
        - Account
      summary: Create Account Security Token
      description: Create security token for account by username/email/id and password.
      parameters:
        - name: identification
          in: query
          schema: &ref_5
            type: string
          description: Login username (required)
          example: '{{username}}'
        - name: password
          in: query
          schema: &ref_6
            type: string
          description: Login password (required)
          example: '{{password}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    delete:
      tags:
        - Account
      summary: Delete All Account Security Tokens
      description: Delete all security tokens from account by username/email/id and password.
      parameters:
        - name: identification
          in: query
          schema: *ref_5
          description: Login username (required)
          example: '{{username}}'
        - name: password
          in: query
          schema: *ref_6
          description: Login password (required)
          example: '{{password}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/account/security-token/{token}:
    delete:
      tags:
        - Account
      summary: Delete One Account Security Token
      description: Delete one security token from account by username/email/id and password and token itself.
      parameters:
        - name: identification
          in: query
          schema: *ref_5
          description: Login username (required)
          example: '{{username}}'
        - name: password
          in: query
          schema: *ref_6
          description: Login password (required)
          example: '{{password}}'
        - name: token
          in: path
          schema:
            type: string
          required: true
          example: '{{token}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/alert:
    get:
      tags:
        - Alert
      summary: Get Alerts
      description: |-
        Get all alerts for current Organization.

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `pagination` | number greater than 0 | <div class="yellow">optional</div> | Start paginating result by a given number of items on the page. Next page link is available in the response header `Link`.<br/><br/> E.g.: `<https://api.signageos/v1/alert?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"` |
        | `createdUntil` | string | <div class="yellow">optional</div> | Filter by alert createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see `pagination` parameter). |
        | `archived` | boolean | <div class="yellow">optional</div> | Filter archived/active alerts. Accepted values '0', '1', 'true', 'false' |
      parameters:
        - name: pagination
          in: query
          schema:
            type: integer
          example: 50
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - alertUid: e8e6da9206f377289c2c5b8c0eb0155ee8f45c4f76b278085b
                  organizationUid: 43259e30b1423d4171e348d6a1a1222e3b0075c8d7ebac868a
                  description: Alert for PB 5
                  alertRuleUid: 147c0d4a5846da4b4cfddf231744c4f4597eaf0b7c7610381f
                  createdAt: '2021-09-21T13:52:07.665Z'
                  archivedAt: null
                  deviceUids: []
                  latelyChangedAt: '2021-09-21T13:52:07.665Z'
                  snoozeRule: null
                - alertUid: cdc221a115cf86edc9def5a6acbd1d83edc95455477edd8031
                  organizationUid: 43259e30b1423d4171e348d6a1a1222e3b0075c8d7ebac868a
                  description: Alert for PB 4
                  alertRuleUid: 147c0d4a5846da4b4cfddf231744c4f4597eaf0b7c7610381f
                  createdAt: '2021-09-21T13:52:02.218Z'
                  archivedAt: null
                  deviceUids: []
                  latelyChangedAt: '2021-09-21T13:52:02.218Z'
                  snoozeRule: null
                - alertUid: 78db726b0f6f7b3be452469e6977261895036fd04661cbe42f
                  organizationUid: 43259e30b1423d4171e348d6a1a1222e3b0075c8d7ebac868a
                  description: Alert for PB 3
                  alertRuleUid: 147c0d4a5846da4b4cfddf231744c4f4597eaf0b7c7610381f
                  createdAt: '2021-09-21T13:51:57.914Z'
                  archivedAt: null
                  deviceUids: []
                  latelyChangedAt: '2021-09-21T13:51:57.914Z'
                  snoozeRule: null
                - alertUid: 0c2a72495fadb7c3985d227467a1f100bb81a217e0cec2f827
                  organizationUid: 43259e30b1423d4171e348d6a1a1222e3b0075c8d7ebac868a
                  description: Alert for PB 2
                  alertRuleUid: 147c0d4a5846da4b4cfddf231744c4f4597eaf0b7c7610381f
                  createdAt: '2021-09-21T13:51:53.597Z'
                  archivedAt: null
                  deviceUids:
                    - d064416b9bac9adadcf6b26d6c589f7c1fa2b6e3ebc5c77466189
                    - 3baeb4f08ea4db7ea8a9be617c24a6121908aa4d6dc5c95916de0
                    - a4269ffafbd0a6e396755ad503c7331b4290d52ed48225717dc96
                  latelyChangedAt: '2021-09-22T08:02:10.000Z'
                  snoozeRule:
                    type: datetime
                    snoozedUntil: '2021-10-23T07:00:00.906Z'
    post:
      tags:
        - Alert
      summary: Create Alert
      description: |-
        Create an alert for specified organization.
        ## Body

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `name` | string | required | Name of the new alert |
        | `organizationUid` | string | required | Uid of organization to which alert will be assigned |
        | `description` | string | required | Description of the alert |
        | `alertRuleUid` | string | required | Created alert rule that will be assigned to this new alert |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: New alert name
                description:
                  type: string
                  example: new description
                organizationUid:
                  type: string
                  example: organization uid
                alertRuleUid:
                  type: string
                  example: alert rule uid
              example:
                name: New alert name
                description: new description
                organizationUid: '{{organizationUid}}'
                alertRuleUid: alert rule uid
      security:
        - XAuthOrganization: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/alert-rule:
    get:
      tags:
        - Alert/Rule
      summary: Get Alert Rules
      description: |-
        Get list of all alert rules in your company.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `pagination` | number | optional | Start paginating result by given number items on-page. Next page link is available on in response under header \`Link\`. E.g.: \`; rel="next"\` |
        | `archived` | boolean | optional | Filter archived alert rules. Accepted values '0', '1', 'true', 'false' |
        | `paused` | boolean | optional | Filter paused alert rules. Accepted values '0', '1', 'true', 'false' |
        | `name` | string | optional | Filter alert rules by name |
        | `alertType` | string | optional | Filter alert rules corresponding with type. Accepted values 'DEVICE', 'POLICY', 'APPLET' |
      parameters:
        - name: alertType
          in: query
          schema:
            type: string
          example: DEVICE
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - alertRuleUid: 6770d276193fc503c2c72408698a47fca257d8cc9b5e994bb9
                  name: Online Status Demo Org
                  description: null
                  alertType: DEVICE
                  companyUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a129cb1da
                  createdAt: '2021-12-08T14:28:33.066Z'
                  archivedAt: null
                  pausedAt: null
                  filter: {}
                  conditions:
                    ALL:
                      - type: ALIVE_AT
                        op:
                          - '>'
                          - '180000'
                    AND_ANY_OF: []
                  organizationUids:
                    - ebfe3522361f83f8ebf893a176fdaa3bdf2b33123ab166c934
                  threshold:
                    type: percentage
                    percentage: 1
                  periodicity: 3600
                  action: null
                - alertRuleUid: 5738a81daf124fddf5e7560273dbdc518d062a0146f8d3014c
                  name: Test
                  description: null
                  alertType: DEVICE
                  companyUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a129cb1da
                  createdAt: '2021-07-28T14:29:10.051Z'
                  archivedAt: '2022-02-22T19:09:27.346Z'
                  pausedAt: null
                  filter: null
                  conditions:
                    ALL:
                      - type: INVALID_SSL_CERTIFICATE
                        op: true
                    AND_ANY_OF:
                      - type: PIN_CODE
                        op: true
                  organizationUids: null
                  threshold:
                    type: percentage
                    percentage: '23'
                  periodicity: null
                  action: null
    post:
      tags:
        - Alert/Rule
      summary: Create Alert Rule
      description: |-
        Create a new alert rule within your company by `companyUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | No parameters |  |  |  |

        ## Body

        | **FIeld** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `name` | string | required | Name of the new alert rule |
        | `companyUid` | string | required | Unique Company Identification |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                name: alert rule name
                companyUid: '{{companyUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
  /v1/alert-rule/{alertRuleUid}:
    get:
      tags:
        - Alert/Rule
      summary: Get Alert Rule
      description: |-
        Get one specific alert rule by `alertRuleUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `alertRuleUid` | string | required | Unique Alert Rule Identification |
      parameters:
        - name: alertRuleUid
          in: path
          schema: &ref_7
            type: string
          required: true
          example: '{{alertRuleUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                alertRuleUid: 9af876c55c17cf13c123261eaac78e59e9d2b5d913a79bf96c
                name: Test Fry
                companyUid: 7fc1f0cd1b0ae527468fbe6b7a5a98b4cd93872235e11c6aaf
                createdAt: '2021-05-25T18:45:54.983Z'
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Alert/Rule
      summary: Update Alert Rule
      description: |-
        Update one existing alert rule by `alertRuleUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `alertRuleUid` | string | required | Unique Alert Rule Identification |

        ## Body

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `name` | string | optional | New name of the updated alert rule |
        | `description` | string | optional | New description |
        | `alertType` | string | optional | Accepted values 'DEVICE', 'POLICY', 'APPLET' |
        | `organizationUids` | array | optional | Organizations which is checked against the rule |
        | `filter` | object | optional | Pre-filter of devices which the alert will be checked against. It's used for percentage threshold of alert creation as base. The mandatory filter is organization set above. This is extended filter for example device applicationType (tizen, webos, etc.). |
        | `conditions` | object | optional | Specify all conditions which devices has to match to state alert as applicable. |
        | `threshold` | object | optional | Specify threshold of rule. It is comparing number of devices matched the conditions above relatively against the total number devices filtered by filter above |
        | `periodicity` | object | optional | Specify how often the rule will be checked against the current state of devices. |
        | `action` | object | optional | Optionally specify the action of alert rule. This action will happen when alert rule is creating an alert. |

        ### Filter
        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `applicationType` | string | optional | Type of application one of ('sssp', 'tizen', 'webos', 'android', 'chrome', 'brightsign', 'linux', 'windows', 'default' ) |
        | `applicationVersion` | array | optional | Semver comparison of core app version [SemverOperator, string] - ([">", "3.12.0"]) |
        | `frontDisplayVersion` | array | optional | Semver comparison of internal front-display library version[SemverOperator, string] - ([">", "9.15.0"]) |
        | `firmwareType` | string | optional | Partial matching of string |
        | `firmwareVersion` | string | optional | Partial matching of string |
        | `managementPackageVersion` | array | optional | Semver comparison of core management package version ([">", "3.12.0"]) |
        | `frontPackageVersion` | array | optional | Semver comparison of core front package version ([">", "3.12.0"]) |
        | `tagUids` | string | optional | List of tags. Device has match all tags in list |
        | `model` | string | optional | Partial matching of string |
        | `name` | string | optional | Partial matching of string |
        | `extendedManagement` | boolean | optional | Filter device with or without extended management |
        | `extendedManagement` | Date | optional | Filter only devices provisioned since the date |
        | `supportedResolutions` | ResolutionItem | optional | Filter only devices supporting specified resolution |
        | `locationUids` | array | optional | Filter only devices in specified locations |
        | `locationTagsUids` | array | optional | Filter only devices in specified location tags |
        ### Conditions
        #### NumericOperator

        | *Operators* |
        | --- |
        | > |
        | < |
        | <= |
        | >= |
        | = |
        | != |

        #### TimeRangeOperator

        | *Operators* |
        | --- |
        | > |
        | < |

        #### Conditions values types

        | **Condition type** | **Type** | **Example** |
        | --- | --- | --- |
        | `OCCURRENCES_IN_TIME_RANGE_TO_PAST` | array | [operator: NumericOperator, occurrences: number, rangeInPastMs: number] -([">", 12, 36000]) |
        | `NUMERIC_RANGE` | array | [operator: NumericOperator, nmbr: number] - (">", 12) |
        | `STRING_OCCURRENCES_IN_TIME_RANGE_TO_PAST` | array |  [str: string, operator: NumericOperator, occurrences: number, rangeInPastMs: number] - ("action", ">" 12, 36000) |
        | `TIME_RANGE_TO_PAST` | array |  [operator: TimeRangeOperator, rangeInPastMs: number] - ("<", 36000) |
        | `PERCENTAGE_RANGE` | array |  [operator: NumericOperator, percentage: number] - ("<", 50) |
        | `NUMERIC_RANGE` | array | [operator: NumericOperator, nmbr: number] - ("<", 50) |
        | `NUMERIC_RANGE` | string |  'DEVICE' |
        | `MATCH_SEMVER` | array |  [operator: SemverOperator, version: string] - (">", "3.12.0") |
        | `STRING_LIST` | array |   ["string1", "string2"] |
        | `POLICY_LIST` | string |  One of ('VOLUME', 'BRIGHTNESS', 'TIMERS', 'PROPRIETARY_TIMERS', 'RESOLUTION', 'ORIENTATION', 'REMOTE_CONTROL', 'APPLICATION_VERSION', 'FIRMWARE_VERSION', 'DEBUG', 'DATETIME', 'POWER_ACTIONS_SCHEDULE', 'TEMPERATURE', 'BUNDLED_APPLET') |
        | `WIFI_OR_ETHERNET` | string |  One of ('wifi', 'ethernet') |
        | `INPUT_SOURCE` | string |   One of ('urlLauncher', 'hdmi1', 'hdmi2', 'hdmi3', 'hdmi4') |
        | `TIMERS` | array |  TimerSettings[] |
        | `RESOLUTION` | object | ResolutionItem |
        | `ORIENTATION` | object |  OrientationSettings  |

        #### Device condition

        | **Condition** | **Condition values** |  **Description** |
        | --- | --- | --- |
        | `INCORRECT_TIME` | BOOLEAN | Is used when device has incorrect time based on current time & timezone of device |
        | `INVALID_SSL_CERTIFICATE` | BOOLEAN | Is used when device is detected having some problems with SSL certificates (it can be even time related) |
        | `FAILED_ACTIONS` | BOOLEAN | Is used when device performing/executing action has failed for amount of time in past |
        | `CONNECTIONS` | BOOLEAN | Is used when device performing/executing action has failed for amount of time in past |
        | `MODEL` | array | BOOLEAN if device has model or not |
        | `SERIAL_NUMBER` | BOOLEAN | Check if device has serial number or not |
        | `NAME` | string | Check if device partially match some string |
        | `PIN_CODE` | boolean | Check if device has PIN code reported |
        | `MANAGEMENT_PACKAGE_VERSION` | MATCH_SEMVER | Check if device match semver version |
        | `FRONT_PACKAGE_VERSION` | MATCH_SEMVER | Check if device match semver version |
        | `FRONT_DISPLAY_VERSION` | MATCH_SEMVER | Check if device match semver version |
        | `FIRMWARE_TYPE` | string | Check if device match semver version |
        | `TAG_UIDS` | STRING_LIST | Check if device has selected tags |
        | `POLICIES` | POLICY_LIST | Check if device has selected policy settings |
        | `LAST_PROVISION_AT` | TIME_RANGE_TO_PAST | Check if device was provisioned in specified time range in past. Useful to detect new devices are provisioned |
        | `LAST_DEPROVISION_AT` | TIME_RANGE_TO_PAST | Check if device was deprovisioned in specified time range in past. Useful to detect devices are re-provisioned |
        | `EXTENDED_MANAGEMENT` | BOOLEAN | Check if device has access to extended management |
        | `ALIVE_AT` | TIME_RANGE_TO_PAST | Check if device last ping in specified time range in past |
        | `NETWORK_INTERFACES` | WIFI_OR_ETHERNET | Check if device is connected using WiFi or Ethernet |
        | `BATTERY_STATUS` | PERCENTAGE_RANGE |  Check if device has enough or not enough battery |
        | `STORAGE_STATUS` | PERCENTAGE_RANGE | Check if device has or has not enough free storage |
        | `CURRENT_TIMEZONE` | MATCH_STRING | Check if timezone match the string |
        | `DISPLAY_SETTING_BACKLIGHT` | PERCENTAGE_RANGE | Check if match expected value of display settings |
        | `DISPLAY_SETTING_CONTRAST` | PERCENTAGE_RANGE | Check if match expected value of display settings |
        | `DISPLAY_SETTING_SHARPNESS` | PERCENTAGE_RANGE | Check if match expected value of display settings |
        | `DISPLAY_SETTING_MAX_TEMPERATURE` | NUMERIC_RANGE | Max temperature in celsius |
        | `INPUT_SOURCE` | INPUT_SOURCE | Check if current input source is set to specified source |
        | `VOLUME` | PERCENTAGE_RANGE | Check if current volume is expected |
        | `BRIGHTNESS` | PERCENTAGE_RANGE | Check if current brightness is expected |
        | `TIMERS` | TIMERS | Check if current native timers are set as expected |
        | `PROPRIETARY_TIMERS` | TIMERS | Check if current proprietary timers are set as expected |
        | `RESOLUTION` | RESOLUTION | Check if current resolution is set as expected |
        | `ORIENTATION` | ORIENTATION | Check if current orientation is set as expected |
        | `REMOTE_CONTROL` | BOOLEAN | Check if current RC is locked or not |
        | `APPLICATION_VERSION` | MATCH_SEMVER | Check if current core app version is correct |
        | `FIRMWARE_VERSION` | MATCH_STRING | Check if current FW version match some string |
        | `DEBUG` | BOOLEAN | Check if debug is enabled or not |
        | `POWER_ACTIONS_SCHEDULE` | SCHEDULED_POWER_ACTIONS | Check if current scheduled power actions are correctly set |
        | `TEMPERATURE` | NUMERIC_RANGE |  Check if current scheduled power actions are correctly set |
        | `INSTALLED_PACKAGE` | MATCH_STRING |  Check if specified package is installed |
        | `SCREENSHOT` | OCCURRENCES_IN_TIME_RANGE_TO_PAST |  Check if number of screenshots was received in time |
        | `FEATURE_TESTS` | BOOLEAN | Check if feature tests has passed |

        #### Policy condition

        | **Condition** | **Condition values** |  **Description** |
        | --- | --- | --- |
        | `POLICY_VIOLATION_VOLUME` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_BRIGHTNESS` | BOOLEAN | Check violation of any of existing policy device settings type|
        | `POLICY_VIOLATION_TIMERS` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_PROPRIETARY_TIMERS` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_RESOLUTION` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_ORIENTATION` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_REMOTE_CONTROL` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_APPLICATION_VERSION` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_FIRMWARE_VERSION` | BOOLEAN | Check violation of any of existing policy device settings type |
        | `POLICY_VIOLATION_DEBUG` | BOOLEAN | Check violation of any of existing policy device settings type|
        | `POLICY_VIOLATION_DATETIME` | BOOLEAN | Check violation of any of existing policy device settings type|
        | `POLICY_VIOLATION_POWER_ACTIONS_SCHEDULE` | BOOLEAN | Check violation of any of existing policy device settings type|
        | `POLICY_VIOLATION_TEMPERATURE` | BOOLEAN |Check violation of any of existing policy device settings type |

        #### Applet condition

        | **Condition** | **Condition values** |  **Description** |
        | --- | --- | --- |
        | `APPLET_COMMAND` | STRING_OCCURRENCES_IN_TIME_RANGE_TO_PAST | Is used when to check custom user defined commands occurrences in time |

        ### Threshold
        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `type` | string | required | Currently only percentage implemented - percentage' |
        | `percentage` | number | required | The number of percent from 0 to 99 (100 is never matched) |

        ### Periodicity
        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `interval` | string | required | How often alert will be checked against current state in SECONDS' |
        | `activeTimeWindows` | array | required | Alert rule won't be checked against current state out of specified active time windows when at least one specified. If no active time window specified, alert rule will be checked anytime. |

        ### Action
        #### Account alert actions
        | **Action type** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `type` | string | required | All specified accounts are notified using account notification settings' - (type: 'accounts')|
        | `accountIds` | array of accountIds | required | AccountIds in array, which will be notified about alert |
        #### Organization accounts alert actions
        | **Action type** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `type` | string | required | All accounts assigned to organization of creating rule are notified using account notification settings' (type: 'organization_accounts') |
        #### Email alert actions
        | **Action type** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `type` | string | required | All accounts assigned to organization of creating rule are notified using account notification settings'  (type: 'emailAddresses')|
        | `emailAddresses` | array of emails | required | Array of email addresses, which will be notified about alert |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                name: My updated Alert rule name
                description: Some sort of updated
                alertType: DEVICE
                organizationUids:
                  - '{{organizationUid}}'
                conditions:
                  ALL:
                    - type: INCORRECT_TIME
                      op: true
                  AND_ANY_OF: []
                filter:
                  applicationType: webos
                  applicationVersion:
                    - '>'
                    - 2.1.0
                threshold:
                  type: percentage
                  percentage: 10
                periodicity: 30
                action:
                  type: emailAddresses
                  emailAddresses:
                    - test@test.com
      parameters:
        - name: alertRuleUid
          in: path
          schema: *ref_7
          required: true
          example: '{{alertRuleUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '401':
          description: Bad request
          content: &ref_8
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 401
                message: Bad request
                errorCode: 401001
                errorName: EXAMPLE_UNAUTHORIZED
                errorDetail: Example "401 Unauthorized" error
        '404':
          description: Not Found
          content: *ref_4
  /v1/alert-rule/{alertRuleUid}/archive:
    put:
      tags:
        - Alert/Rule
      summary: Archive Alert Rule
      description: |-
        Archive one alert rule by `alertRuleUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `alertRuleUid` | string | required | Unique Alert Rule Identification |
      requestBody:
        content: {}
      parameters:
        - name: alertRuleUid
          in: path
          schema: *ref_7
          required: true
          example: '{{alertRuleUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '204':
          description: No Content
          content:
            text/plain:
              example: '# Empty response'
        '401':
          description: Bad request
          content: *ref_8
        '404':
          description: Not Found
          content: *ref_4
  /v1/alert-rule/{alertRuleUid}/pause:
    put:
      tags:
        - Alert/Rule
      summary: Pause Alert Rule
      description: |-
        Pause one alert rule by `alertRuleUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `alertRuleUid` | string | required | Unique Alert Rule Identification |
      requestBody:
        content: {}
      security:
        - XAuthOrganization: []
      parameters:
        - name: alertRuleUid
          in: path
          schema: *ref_7
          required: true
          example: '{{alertRuleUid}}'
      responses:
        '204':
          description: No Content
          content:
            text/plain:
              example: '# Empty response'
        '401':
          description: Bad request
          content: *ref_8
        '404':
          description: Not Found
          content: *ref_4
  /v1/alert-rule/{alertRuleUid}/unarchive:
    put:
      tags:
        - Alert/Rule
      summary: Unarchive Alert Rule
      description: |-
        Unarchive one alert rule by `alertRuleUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `alertRuleUid` | string | required | Unique Alert Rule Identification |
      requestBody:
        content: {}
      parameters:
        - name: alertRuleUid
          in: path
          schema: *ref_7
          required: true
          example: '{{alertRuleUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '401':
          description: Bad request
          content: *ref_8
        '404':
          description: Not Found
          content: *ref_4
  /v1/alert-rule/{alertRuleUid}/unpause:
    put:
      tags:
        - Alert/Rule
      summary: Unpause Alert Rule
      description: |-
        Unpause one alert rule by `alertRuleUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `alertRuleUid` | string | required | Unique Alert Rule Identification |
      requestBody:
        content: {}
      security:
        - XAuthOrganization: []
      parameters:
        - name: alertRuleUid
          in: path
          schema: *ref_7
          required: true
          example: '{{alertRuleUid}}'
      responses:
        '204':
          description: No Content
          content:
            text/plain:
              example: "#\_Empty response"
        '401':
          description: Bad request
          content: *ref_8
        '404':
          description: Not Found
          content: *ref_4
  /v1/alert/{alertUid}:
    get:
      tags:
        - Alert
      summary: Get Alert
      description: |-
        Get alert for current Organization by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `alertUid` | string | required | Unique Alert Identification |
      parameters:
        - name: alertUid
          in: path
          schema: &ref_9
            type: string
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                alertUid: e8e6da9206f377289c2c5b8c0eb0155ee8f45c4f76b278085b
                organizationUid: 43259e30b1423d4171e348d6a1a1222e3b0075c8d7ebac868a
                description: Alert for PB 5
                alertRuleUid: 147c0d4a5846da4b4cfddf231744c4f4597eaf0b7c7610381f
                createdAt: '2021-09-21T13:52:07.665Z'
                archivedAt: null
                deviceUids: []
                latelyChangedAt: '2021-09-21T13:52:07.665Z'
                snoozeRule: null
    put:
      tags:
        - Alert
      summary: Update Alert Description
      description: |-
        Update alert description by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |

        ## Body

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `description` | string | required | New description for updated alert |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                description: new alert description
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/alert/{alertUid}/archive:
    put:
      tags:
        - Alert
      summary: Archive Alert
      description: |-
        Archive one alert by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |
      requestBody:
        content: {}
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/alert/{alertUid}/assigne:
    put:
      tags:
        - Alert
      summary: Assigne Devices to Alert
      description: |-
        Assign device to alert by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |

        ## Body
        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |
        | `deviceIdentityHashes` | array | required | Array of deviceUids that will be assigned to this alert. |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: |-
                {
                    "alertUid": {{alertUid}},
                    "deviceIdentityHashes": [{{deviceUid}}]
                }
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/alert/{alertUid}/snooze:
    put:
      tags:
        - Alert
      summary: Snooze Alert
      description: |-
        Snooze one alert by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |

        ## Body

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `snoozeRule` | object | required | Properties for alert https://demo.signageos.io/dev/alerts/modules.html#snoozerule |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                snoozeRule:
                  type: update
                  snoozedUntil: 2
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/alert/{alertUid}/snooze-device/{deviceUid}:
    post:
      tags:
        - Alert
      summary: Snooze Device Alert
      description: |-
        Snooze one alert on one device by `alertUid` and `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |
        | `deviceUid` | string | required | Device unique identification |

        ## Body

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `snoozeRule` | object | required | Properties for alert (only datetime is available) https://demo.signageos.io/dev/alerts/modules.html#snoozerule |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                snoozeRule:
                  type: datetime
                  snoozedUntil: '2038-01-19T03:14:07.000Z'
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
        - name: deviceUid
          in: path
          schema: &ref_10
            type: string
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '204':
          description: No Content
          content:
            text/plain:
              schema:
                type: string
              example: "#\_Empty response"
    delete:
      tags:
        - Alert
      summary: Unsnooze Device Alert
      description: |-
        Unsnooze one alert on one device by `alertUid` and `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |
        | `deviceUid` | string | required | Device unique identification |

        ## Body

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '204':
          description: No Content
          content:
            text/plain:
              schema:
                type: string
              example: "#\_Empty response"
  /v1/alert/{alertUid}/unarchive:
    put:
      tags:
        - Alert
      summary: Unarchive Alert
      description: |-
        Unarchive one alert by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |
      requestBody:
        content: {}
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: object
              example:
                message": OK
  /v1/alert/{alertUid}/unassign:
    put:
      tags:
        - Alert
      summary: Unassigne Devices from Alert
      description: |-
        Unassign alert from devices by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |

        ## Body

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |
        | `deviceIdentityHashes` | array | required | Array of deviceUids that will be unassigned from this alert. |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: |-
                {
                    "alertUid": {{alertUid}},
                    "deviceIdentityHashes": [{{deviceUid}}]
                }
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/alert/{alertUid}/unsnooze:
    put:
      tags:
        - Alert
      summary: Unsnooze Alert
      description: |-
        Unsnooze one alert by `alertUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `alertUid` | string | required | Unique Alert Identification |
      requestBody:
        content: {}
      parameters:
        - name: alertUid
          in: path
          schema: *ref_9
          required: true
          example: '{{alertUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
              example: |-
                {
                  "message": "OK"
                }
  /v1/applet:
    get:
      tags:
        - Applet
      summary: Get Applets
      description: Get all applets of current organization
      security:
        - XAuthOrganization: []
      parameters:
        - name: descending
          in: query
          schema: &ref_11
            type: boolean
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: &ref_12
            type: integer
            minimum: 1
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: &ref_13
            type: array
            items:
              type: string
          example: &ref_14
            - 611h5cc371d18cgb5c2bo1ecpa8h6f501fodg6ca3do95dc9pf
            - 16338bhd0g51dpa6f5cgp49ofehcad8815f9ac6h81de53cp2p
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: &ref_15
            type: array
            items:
              type: string
          example: &ref_16
            - 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
            - df195h3d8pdh55hgp94fgdc644o3f5og799d9pec8292h2cc7a
          description: Filter by Organization UIDs
        - name: name
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `name`. Returns records where the `name` contains the specified text.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    name:
                      type: string
                    createdAt:
                      type: string
                  required:
                    - uid
                    - name
                    - createdAt
              example:
                - uid: bd74395949f7de6f143e59f00e8e351b8a01899873bb76be71
                  name: Demo Applet
                  createdAt: '2017-05-24T08:58:56.994Z'
                - uid: 0a146ce414a69e4274bb7b60e18f47475f603c203f6a37e713
                  name: Demo Applet 2
                  createdAt: '2017-07-13T14:27:26.387Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Applet
      summary: Create Applet
      description: |-
        Create a new Applet that can be assigned to the device.

        ## Body

        **Content-type:**
        `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `name` | string | required | Your new Applet name, eg. Cool Applet |

        ## Assigning Applet to Device

        Looking for a way how to set Applet to device? The endpoint you are looking for is called **Timing**.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organizationUid:
                  type: string
                  description: Required if authenticating as an Account
                name:
                  type: string
                  description: The name of the applet
                  example: Applet Name
              required:
                - name
              example:
                name: Applet Name
      security:
        - XAuthOrganization: []
      responses:
        '201':
          description: Created
          content: &ref_151
            application/json:
              schema:
                type: object
                properties: &ref_24
                  message:
                    type: string
                    example: OK
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/applet/command:
    get:
      tags:
        - Applet/Command
      summary: Get Applet Commands
      description: |-
        Get all applet commands in your organization.

        **Max allowed page size is 200**

        *Device applet commands are available for the previous 3 days.*
        *Historical data of all commands is available as ZIP dump at Get Device Reports (Uptime, Applet Commands) endpoint: https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/~1v1~1device~1%7BdeviceUid%7D~1report/get .*

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `type` | string | optional | your log type - e.g.: MyCms.Content.PlayVideo |
        | `receivedSince` | Date | optional | get all commands since exact date (included) |
        | `receivedUntil` | Date | optional | get all commands till exact date (excluded) |

        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Command object. Field `command` contains the command. Field `commandPayload` contains the same data and is only kept for backwards compatibility. Don't use it.
                  properties: &ref_18
                    command:
                      type: object
                      description: Command object. Must contain at least type. May contain any number of custom properties.
                      properties:
                        type:
                          type: string
                      additionalProperties: true
                      required:
                        - type
                  required: &ref_19
                    - command
                  example: &ref_20
                    command:
                      type: TestCommand
                      customField: customValue
                      anotherField: 123
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Invalid request body
                errorCode: 400018
                errorName: MISSING_TYPE_FIELD_TO_APPLET_COMMAND_READ
                errorDetail: Field type is missing from JSON body thus applet command not to be read
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 403
                message: Access forbidden - Applet not found
                errorCode: 403095
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Applet not found
                errorCode: 404015
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
  /v1/applet/count:
    get:
      tags:
        - Applet
      summary: Count Applets
      description: Count applets
      security:
        - XAuthOrganization: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: name
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `name`. Returns records where the `name` contains the specified text.
      responses:
        '200':
          description: OK
          content: &ref_152
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                required:
                  - count
              example:
                count: 5
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/applet/{appletUid}:
    get:
      tags:
        - Applet
      summary: Get Applet
      description: |-
        Get one applet by `appletUid`. The UID can be found in list of all applets in signageOS Box.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique applet identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: &ref_17
            type: string
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                  name:
                    type: string
                  createdAt:
                    type: string
                required:
                  - uid
                  - name
                  - createdAt
              example:
                uid: bd74395949f7de6f143e59f00e8e351b8a01899873bb76be78
                name: Demo Applet
                createdAt: '2017-05-24T08:58:56.994Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Applet
      summary: Delete Applet
      description: Delete one Applet by `appletUid`. All assigned Timings on any device have to be deleted first.
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/applet/{appletUid}/command:
    get:
      tags:
        - Applet/Command
      summary: Get Applet Commands
      description: |-
        Get all applet commands by appletUid.

        **Max allowed page size is 200**

        *Device applet commands are available for the previous 3 days.*
        *Historical data of all commands is available as ZIP dump at Get Device Reports (Uptime, Applet Commands) endpoint: https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/~1v1~1device~1%7BdeviceUid%7D~1report/get .*

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `appletUid` | string | required | applet unique identification |
        | `type` | string | optional | your log type - e.g.: MyCms.Content.PlayVideo |
        | `receivedSince` | Date | optional | get all commands since exact date (included) |
        | `receivedUntil` | Date | optional | get all commands till exact date (excluded) |

        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Command object. Field `command` contains the command. Field `commandPayload` contains the same data and is only kept for backwards compatibility. Don't use it.
                  properties: *ref_18
                  required: *ref_19
                  example: *ref_20
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Invalid request body
                errorCode: 400018
                errorName: MISSING_TYPE_FIELD_TO_APPLET_COMMAND_READ
                errorDetail: Field type is missing from JSON body thus applet command not to be read
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 403
                message: Access forbidden - Applet not found
                errorCode: 403095
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Applet not found
                errorCode: 404015
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
  /v1/applet/{appletUid}/version:
    post:
      tags:
        - Applet
      summary: Create Applet Version
      description: |-
        To create new Applet version you need just a new version of HTML (binary).

        > **There is a better way**, use [signageOS CLI for creating multifile Applets](https://docs.signageos.io/hc/en-us/articles/4405111438354-signageOS-CLI)

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique Applet identification |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | **Required** | Description |
        | --- | --- | --- | --- |
        | `binary` | string | required | HTML file |
        | `version` | string (semver) | required | Version of your Applet, e.g. 1.0.12 |
        | `frontAppletVersion` | string (semver) | required | Version of Content Applet JS API |
        | `entryFile` | string | optional | Entry file name |
        ## Assigning Applet to Device
        Looking for a way how to set Applet to device? The endpoint you are looking for is called **Timing**.
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                binary: <html><h1>Hello world</h1></html>
                version: '{{appletVersion}}'
                frontAppletVersion: 1.0.5
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
    get:
      tags:
        - Applet
      summary: Get Applet Versions
      description: |-
        Get all Applet versions of the Applet by `appletUid`.

        Several Applet versions make upgrade process and device operation a lot safer. This API call returns versions of selected Applet.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | unique applet identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - appletUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  version: 1.0.816
                  createdAt: '2021-11-11T07:05:17.737Z'
                  updatedAt: '2021-11-11T07:05:41.654Z'
                  binary: null
                  entryFile: null
                  frontAppletVersion: 1.0.5
                  publishedSince: null
                  deprecatedSince: null
                  builtSince: '2021-11-11T07:05:44.761Z'
                - appletUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  version: 1.1.1
                  createdAt: '2022-02-21T13:55:24.246Z'
                  updatedAt: '2022-02-21T13:55:24.246Z'
                  binary: null
                  entryFile: null
                  frontAppletVersion: 1.0.5
                  publishedSince: null
                  deprecatedSince: null
                  builtSince: '2022-02-21T13:55:27.341Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Applet not found
                errorCode: 404097
                errorName: NO_APPLET_TO_READ
                errorDetail: No applet found by UID specified in URI path thus not to be read
  /v1/applet/{appletUid}/version/{appletVersion}:
    get:
      tags:
        - Applet
      summary: Get Applet Version
      description: |-
        Get one specific Applet version of the Applet by `appletUid` and `appletVersion`

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique applet identification |
        | `appletVersion` | string (semver) | optional | Version of your Applet, e.g. 1.0.12 |
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: &ref_21
            type: string
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                appletUid: bd74395949f7de6f143e59f00e8e351b8a01899873bb76be78
                version: 0.0.1
                createdAt: '2017-05-24T09:12:13.251Z'
                updatedAt: '2017-09-12T09:09:53.240Z'
                binary: null
                frontAppletVersion: 1.0.3
                publishedSince: null
                deprecatedSince: null
                builtSince: '2017-10-10T19:54:25.206Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Applet not found
                errorCode: 404097
                errorName: NO_APPLET_TO_READ
                errorDetail: No applet found by UID specified in URI path thus not to be read
    put:
      tags:
        - Applet
      summary: Update Applet Version
      description: |-
        Update existing Applet version of the Applet by `appletUid` and `appletVersion`.

        To update any of your Applet version you need just new version of HTML (binary).

        > **There is a better way**, use [signageOS CLI for creating multifile Applets](https://docs.signageos.io/hc/en-us/articles/4405111438354-signageOS-CLI)

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique Applet identification |
        | `appletVersion` | string (semver) | optional | Version of your Applet, e.g. 1.0.12 |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | **Required** | Description |
        | --- | --- | --- | --- |
        | `binary` | string | required | HTML file as string |
        | `frontAppletVersion` | string (semver) | required | Version of Content Applet JS API |
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                binary: <html><h1>Hello world</h1></html>
                frontAppletVersion: 1.0.5
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/applet/{appletUid}/version/{appletVersion}/file:
    post:
      tags:
        - Applet
      summary: Upload Applet Version Files
      description: Upload file to applet version files by `appletUid` & `appletVersion`.
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                path:
                  type: string
                  description: Path where will be file uploaded. Must be an absolute path.
                hash:
                  type: string
                  description: MD5 checksum of uploaded file
                type:
                  type: string
                  description: Content-Type (MIME type) of the uploaded file
              required:
                - path
                - hash
              example:
                path: index.html
                hash: 045e372a1eeafee2ce5580443c18a91d
                type: text/html
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: build
          in: query
          schema: &ref_23
            type: boolean
          description: Do the build of applet version when file is uploaded. Accepted values '0', '1', 'true', 'false'.
          example: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: &ref_204
                  file:
                    type: object
                    properties:
                      url:
                        type: string
                        format: uri
                    required:
                      - url
                  upload:
                    type: object
                    properties:
                      request:
                        type: object
                        properties:
                          url:
                            type: string
                            format: uri
                          fields:
                            type: object
                        required:
                          - url
                          - fields
                    required:
                      - request
                required: &ref_205
                  - file
                  - upload
                example: &ref_206
                  upload:
                    request:
                      url: https://s3.eu-central-1.amazonaws.com/signageos-public
                      fields:
                        Key: applet/bd74395949f7de6f143e59f00e8e351b8a01899873bb76be78/0.0.1/index.html
                        Content-Type: text/html
                        Content-MD5: xxx
                        x-amz-meta-content_md5: xxx
                        bucket: signageos-public
                        X-Amz-Algorithm: AWS4-HMAC-SHA256
                        X-Amz-Credential: AWS-ACCESS-KEY
                        X-Amz-Date: 20210412T154049Z
                        Policy: eyJleHBpcmF0aW9uIjoiMjAyMS0wNC0xMlQxNjo0MDo0OVoiLCJjb25kaXRpb25zIjpbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMCwyMDAwMDAwMDAwXSx7IktleSI6ImFwcGxldC9iZDc0Mzk1OTQ5ZjdkZTZmMTQzZTU5ZjAwZThlMzUxYjhhMDE4OTk4NzNiYjc2YmU3OC8wLjAuMS9pbmRleC5odG1sIn0seyJDb250ZW50LVR5cGUiOiJ0ZXh0L2h0bWwifSx7IkNvbnRlbnQtTUQ1IjoieHh4In0seyJ4LWFtei1tZXRhLWNvbnRlbnRfbWQ1IjoieHh4In0seyJidWNrZXQiOiJzaWduYWdlb3MtcHVibGljIn0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJYLUFtei1DcmVkZW50aWFsIjoiQUtJQVNRSTQ3NDJJN0hPR1pKWjYvMjAyMTA0MTIvZXUtY2VudHJhbC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsiWC1BbXotRGF0ZSI6IjIwMjEwNDEyVDE1NDA0OVoifV19
                        X-Amz-Signature: 946812d88fbf24f2d072559aa734e50ba94db8a7cb637310742f7060c0ef9366
                  file:
                    url: https://signageos-public.s3.eu-central-1.amazonaws.com/applet/bd74395949f7de6f143e59f00e8e351b8a01899873bb76be78/0.0.1/index.html
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Applet
      summary: Get Applet Version Files
      description: Get file of applet version files by `appletUid`, `appletVersion`
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    path:
                      type: string
                    type:
                      type: string
                  required:
                    - name
                    - path
                    - type
        '404':
          description: Not Found
          content: *ref_4
  /v1/applet/{appletUid}/version/{appletVersion}/file/{appletFileName}:
    get:
      tags:
        - Applet
      summary: Get Applet Version File
      description: Get file of applet version files by `appletUid`, `appletVersion` & `appletFileName`
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: appletFileName
          in: path
          schema: &ref_22
            type: string
          required: true
          description: File name in Applet Version. It has to be relative path to applet root. It cannot start with slash `/`. It's forbidden to upload files inside `node_modules` directory.
          example: '{{appletFileName}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    put:
      tags:
        - Applet
      summary: Upload and Update Applet Version Files
      description: Upload and update existing file to applet version files by `appletUid`, `appletVersion` & `appletFileName`
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                hash:
                  type: string
                  description: MD5 checksum of uploaded file
                type:
                  type: string
                  description: Content-Type (MIME type) of the uploaded file
              required:
                - hash
              example:
                hash: 045e372a1eeafee2ce5580443c18a91d
                type: text/javascript
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: appletFileName
          in: path
          schema: *ref_22
          required: true
          description: File name in Applet Version. It has to be relative path to applet root. It cannot start with slash `/`. It's forbidden to upload files inside `node_modules` directory.
          example: '{{appletFileName}}'
        - name: build
          in: query
          schema: *ref_23
          description: Do the build of applet version when file is uploaded. Accepted values '0', '1', 'true', 'false'.
          example: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                upload:
                  request:
                    url: https://s3.eu-central-1.amazonaws.com/signageos-public
                    fields:
                      Key: applet/567f04da699f0133503204a10c03c7dfbbac06e12d34e20b63/1.0.763/applet-file-name
                      Content-MD5: xxx
                      x-amz-meta-content_md5: xxx
                      bucket: signageos-public
                      X-Amz-Algorithm: AWS4-HMAC-SHA256
                      X-Amz-Credential: AWS-ACCESS-KEY
                      X-Amz-Date: 20210420T013226Z
                      Policy: eyJleHBpcmF0aW9uIjoiMjAyMS0wNC0yMFQwMjozMjoyNloiLCJjb25kaXRpb25zIjpbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMCwyMDAwMDAwMDAwXSx7IktleSI6ImFwcGxldC81NjdmMDRkYTY5OWYwMTMzNTAzMjA0YTEwYzAzYzdkZmJiYWMwNmUxMmQzNGUyMGI2My8xLjAuNzYzL2FwcGxldC1maWxlLW5hbWUifSx7IkNvbnRlbnQtTUQ1IjoieHh4In0seyJ4LWFtei1tZXRhLWNvbnRlbnRfbWQ1IjoieHh4In0seyJidWNrZXQiOiJzaWduYWdlb3MtcHVibGljIn0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJYLUFtei1DcmVkZW50aWFsIjoiQUtJQVNRSTQ3NDJJN0hPR1pKWjYvMjAyMTA0MjAvZXUtY2VudHJhbC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsiWC1BbXotRGF0ZSI6IjIwMjEwNDIwVDAxMzIyNloifV19
                      X-Amz-Signature: 2c31bd411be6125580ff9674bd7b3a6a2f2ea196beb00615ad992d8e10646cd3
                file:
                  url: https://signageos-public.s3.eu-central-1.amazonaws.com/applet/567f04da699f0133503204a10c03c7dfbbac06e12d34e20b63/1.0.763/applet-file-name
    post:
      tags:
        - Applet
      summary: Upload and Update Applet Version Files
      description: Upload and update existing file to applet version files by `appletUid`, `appletVersion` & `appletFileName`
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                hash:
                  type: string
                  description: MD5 checksum of uploaded file
                path:
                  type: string
                  description: path of uploaded file
                type:
                  type: string
                  description: Content-Type (MIME type) of the uploaded file
              required:
                - hash
                - path
              example:
                hash: 045e372a1eeafee2ce5580443c18a91d
                type: text/javascript
                path: src/bundle_file_1.js
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: appletFileName
          in: path
          schema: *ref_22
          required: true
          description: File name in Applet Version. It has to be relative path to applet root. It cannot start with slash `/`. It's forbidden to upload files inside `node_modules` directory.
          example: '{{appletFileName}}'
        - name: build
          in: query
          schema: *ref_23
          description: Do the build of applet version when file is uploaded. Accepted values '0', '1', 'true', 'false'.
          example: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                upload:
                  request:
                    url: https://s3.eu-central-1.amazonaws.com/signageos-public
                    fields:
                      Key: applet/567f04da699f0133503204a10c03c7dfbbac06e12d34e20b63/1.0.763/applet-file-name
                      Content-MD5: xxx
                      x-amz-meta-content_md5: xxx
                      bucket: signageos-public
                      X-Amz-Algorithm: AWS4-HMAC-SHA256
                      X-Amz-Credential: AWS-ACCESS-KEY
                      X-Amz-Date: 20210420T013226Z
                      Policy: eyJleHBpcmF0aW9uIjoiMjAyMS0wNC0yMFQwMjozMjoyNloiLCJjb25kaXRpb25zIjpbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsMCwyMDAwMDAwMDAwXSx7IktleSI6ImFwcGxldC81NjdmMDRkYTY5OWYwMTMzNTAzMjA0YTEwYzAzYzdkZmJiYWMwNmUxMmQzNGUyMGI2My8xLjAuNzYzL2FwcGxldC1maWxlLW5hbWUifSx7IkNvbnRlbnQtTUQ1IjoieHh4In0seyJ4LWFtei1tZXRhLWNvbnRlbnRfbWQ1IjoieHh4In0seyJidWNrZXQiOiJzaWduYWdlb3MtcHVibGljIn0seyJYLUFtei1BbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJYLUFtei1DcmVkZW50aWFsIjoiQUtJQVNRSTQ3NDJJN0hPR1pKWjYvMjAyMTA0MjAvZXUtY2VudHJhbC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsiWC1BbXotRGF0ZSI6IjIwMjEwNDIwVDAxMzIyNloifV19
                      X-Amz-Signature: 2c31bd411be6125580ff9674bd7b3a6a2f2ea196beb00615ad992d8e10646cd3
                file:
                  url: https://signageos-public.s3.eu-central-1.amazonaws.com/applet/567f04da699f0133503204a10c03c7dfbbac06e12d34e20b63/1.0.763/applet-file-name
    delete:
      tags:
        - Applet
      summary: Delete Applet Version File
      description: Delete an existing file to applet version files by `appletUid`, `appletVersion` & `appletFileName`
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: appletFileName
          in: path
          schema: *ref_22
          required: true
          description: File name in Applet Version. It has to be relative path to applet root. It cannot start with slash `/`. It's forbidden to upload files inside `node_modules` directory.
          example: '{{appletFileName}}'
        - name: build
          in: query
          schema: *ref_23
          description: Do the build of applet version when file is uploaded. Accepted values '0', '1', 'true', 'false'.
          example: false
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/applet/{appletUid}/version/{appletVersion}/test:
    post:
      tags:
        - Applet/Applet Tests
      summary: Test Applet By Version
      description: |-
        Create new applet version test of applet by `appletUid` and `appletVersion`.

        To create a new Applet version test suite you need just the binary (string with test source code).

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique Applet identification |
        | `version` | string | required | Applet version |

        ## Body

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `identifier` | string | required | Test suite identifier |
        | `binary` | string | required | Binary as string |
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    identifier:
                      type: string
                    binary:
                      type: string
                  required:
                    - binary
                  example:
                    identifier: '{{testIdentifier}}'
                    binary: console.log('OK');
                - type: object
                  format: byte
                  example: console.log('OK');
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: identifier
          in: query
          schema:
            type: string
          description: Unique Test Suite Identifier
          example: '{{identifier}}'
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Applet/Applet Tests
      summary: Test Applet By Version
      description: |-
        Get all applet version tests of applet by `appletUid` & `appletVersion`.

        Applet tests allow you to test the functionality and performance of your applets automatically.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique applet identification |
        | `appletVersion` | string (semver) | required | Version of your Applet, e.g. 1.0.12 |
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    appletUid:
                      type: string
                    appletVersion:
                      type: string
                    identifier:
                      type: string
                    binary:
                      type: string
                  required:
                    - appletUid
                    - appletVersion
                    - identifier
                    - binary
              example:
                - appletUid: 567f04da699f0133503204a10c03c7dfbbac06e12d34e20b63
                  appletVersion: 1.0.763
                  identifier: some-random-test
                  binary: console.log('OK');
                - appletUid: 567f04da699f0133503204a10c03c7dfbbac06e12d34e20b63
                  appletVersion: 1.0.763
                  identifier: test-identifier-0
                  binary: console.log('OK');
        '404':
          description: Not Found
          content: *ref_4
  /v1/applet/{appletUid}/version/{appletVersion}/test/{testIdentifier}:
    get:
      tags:
        - Applet/Applet Tests
      summary: Test Applet By Version and Test Identifier
      description: |-
        Get content from one applet version test of applet by `appletUid`, `appletVersion` and `testIdentifier`.

        Applet tests allow you to test the functionality and performance of your applets automatically.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique applet identification |
        | `appletVersion` | string (semver) | required | Version of your Applet, e.g. 1.0.12 |
        | `testIdentifier` | string | required | Name of the test suite |
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: testIdentifier
          in: path
          schema: &ref_25
            type: string
          example: '{{testIdentifier}}'
          required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    title: JSON object
                    example:
                      binary: example-binary-content
                  - type: string
                    title: stringified JSON object
                    example: example-binary-content
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Applet/Applet Tests
      summary: Test Applet By Version And Identifier
      description: |-
        Update existing applet version test of applet by `appletUid`, `appletVersion` & `testIdentifier`

        To update existing Applet version test suite you need just the binary (string with test source code).

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique Applet identification |
        | `version` | string | required | Applet version |
        | `identifier` | string | required | Test suite identifier |

        ## Body

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `binary` | string | required | Binary as string |
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - type: object
                  properties:
                    identifier:
                      type: string
                    binary:
                      type: string
                  required:
                    - binary
                  example:
                    identifier: '{{testIdentifier}}'
                    binary: console.log('OK');
                - type: object
                  format: byte
                  example: console.log('OK');
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: testIdentifier
          in: path
          schema: *ref_25
          example: '{{testIdentifier}}'
          required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Applet/Applet Tests
      summary: Test Applet By Version And Identifier
      description: |-
        Delete existing Applet version test by `appletUid`, `appletVersion` & `testIdentifier`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `appletUid` | string | required | Unique Applet identification |
        | `appletVersion` | string | required | Applet version |
        | `testIdentifier` | string | required | Test suite identifier |
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
        - name: testIdentifier
          in: path
          schema: *ref_25
          example: '{{testIdentifier}}'
          required: true
      responses:
        '200':
          description: Success
          content: &ref_211
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '404':
          description: Not Found
          content: *ref_4
  /v1/bulk-operation:
    get:
      tags:
        - Bulk Operation
      summary: Get bulk operations
      description: Get bulk operations by organizationUid.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
          example: 50
        - name: offset
          in: query
          schema:
            type: integer
          example: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: &ref_139
                  uid:
                    type: string
                  name:
                    type: string
                  filter:
                    type: object
                    properties: &ref_26
                      uids:
                        type: array
                        items:
                          type: string
                      uidsExclude:
                        type: array
                        items:
                          type: string
                      duids:
                        type: array
                        items:
                          type: string
                      duidsExclude:
                        type: array
                        items:
                          type: string
                      accountId:
                        type: integer
                      organizationUid:
                        type: string
                      applicationType:
                        type: string
                      applicationTypes:
                        type: array
                        items:
                          type: string
                      applicationTypeNotEqual:
                        type: string
                      model:
                        type: string
                      brands:
                        type: array
                        items:
                          type: string
                      firmwareVersion:
                        type: string
                      search:
                        type: string
                      bannedSince:
                        type: string
                      tagUids:
                        type: array
                        items:
                          type: string
                      policyUids:
                        type: array
                        items:
                          type: string
                      createdSince:
                        type: string
                      createdUntil:
                        type: string
                      onlyWithTimeOutOfThresholdMs:
                        type: number
                      filterModelName:
                        type: string
                      firmwareType:
                        type: string
                      serialNumber:
                        type: string
                      appletUids:
                        type: array
                        items:
                          type: string
                      activeAppletVersion:
                        type: string
                      osVersions:
                        type: array
                        items:
                          type: string
                      hasPolicy:
                        type: boolean
                      tagWithChildrenUidGroups:
                        type: array
                        items:
                          type: array
                          items:
                            type: string
                      locationUids:
                        type: array
                        items:
                          type: string
                      orFilter:
                        type: object
                        properties:
                          tagUids:
                            type: array
                            items:
                              type: string
                          tagWithChildrenUidGroups:
                            type: array
                            items:
                              type: array
                              items:
                                type: string
                          locationUids:
                            type: array
                            items:
                              type: string
                        description: Matches devices which satisfy one or more filters
                  deviceUids:
                    type: array
                    items:
                      type: string
                  failedDeviceUids:
                    type: array
                    items:
                      type: string
                  successfulDeviceUids:
                    type: array
                    items:
                      type: string
                  skippedDeviceUids:
                    type: array
                    items:
                      type: string
                  createdAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  pausedAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  stoppedAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  resumedAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  archivedAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  finishedAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  isRunning:
                    type: boolean
                  schedule:
                    type: object
                    properties:
                      datetime:
                        type: string
                        format: date-time
                        example: '2021-01-30T08:30:00Z'
                      timezone:
                        type: string
                        example: Europe/Prague
                      deferFilter:
                        type: boolean
                  rollingUpdate:
                    type: object
                    properties:
                      batchSize:
                        type: integer
                      batchDelay:
                        type: integer
                      stopThreshold:
                        type: integer
                  operationType:
                    type: string
                  data:
                    type: object
                  progress:
                    type: object
                    properties:
                      total:
                        type: integer
                      inProgress:
                        type: integer
                      failed:
                        type: integer
                      succeeded:
                        type: integer
                      skipped:
                        type: integer
              example:
                uid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                name: My Bulk Operation
                filter: &ref_140
                  applicationType: tizen
                deviceUids: &ref_141
                  - d064416b9bac9adadcf6b26d6c589f7c1fa2b6e3ebc5c77466189
                  - 3baeb4f08ea4db7ea8a9be617c24a6121908aa4d6dc5c95916de0
                  - a4269ffafbd0a6e396755ad503c7331b4290d52ed48225717dc96
                failedDeviceUids: &ref_142
                  - d064416b9bac9adadcf6b26d6c589f7c1fa2b6e3ebc5c77466189
                  - 3baeb4f08ea4db7ea8a9be617c24a6121908aa4d6dc5c95916de0
                  - a4269ffafbd0a6e396755ad503c7331b4290d52ed48225717dc96
                successfulDeviceUids: &ref_143
                  - d064416b9bac9adadcf6b26d6c589f7c1fa2b6e3ebc5c77466189
                  - 3baeb4f08ea4db7ea8a9be617c24a6121908aa4d6dc5c95916de0
                  - a4269ffafbd0a6e396755ad503c7331b4290d52ed48225717dc96
                skippedDeviceUids: &ref_144
                  - d064416b9bac9adadcf6b26d6c589f7c1fa2b6e3ebc5c77466189
                  - 3baeb4f08ea4db7ea8a9be617c24a6121908aa4d6dc5c95916de0
                  - a4269ffafbd0a6e396755ad503c7331b4290d52ed48225717dc96
                createdAt: '2021-03-30T18:57:33.669Z'
                pausedAt: '2021-03-30T18:57:33.669Z'
                stoppedAt: '2021-03-30T18:57:33.669Z'
                resumedAt: '2021-03-30T18:57:33.669Z'
                archivedAt: '2021-03-30T18:57:33.669Z'
                finishedAt: '2021-03-30T18:57:33.669Z'
                isRunning: true
                schedule: &ref_145
                  datetime: '2021-03-30T18:57:33.669Z'
                  timezone: Europe/Amsterdam
                rollingUpdate: &ref_146
                  batchSize: 200
                  batchDelay: 100000
                  stopThreshold: 20
                operationType: SET_APPLICATION_VERSION
                data: &ref_147
                  applicationType: tizen
                  version: 1.0.0
                progress: &ref_148
                  total: 1000
                  failed: 100
                  inProgress: 400
                  succeeded: 500
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Bulk Operation
      summary: Create bulk operation
      description: Create bulk operation.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: &ref_160
            type: string
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties: &ref_30
                    name:
                      type: string
                    filter:
                      type: object
                      properties: *ref_26
                    schedule:
                      type: object
                      properties:
                        datetime:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        timezone:
                          type: string
                          example: Europe/Prague
                        deferFilter:
                          type: boolean
                    rollingUpdate:
                      type: object
                      properties:
                        batchSize:
                          type: integer
                        batchDelay:
                          type: integer
                        stopThreshold:
                          type: integer
                  required: &ref_31
                    - filter
                - oneOf:
                    - title: Set Application Version
                      type: object
                      properties: &ref_32
                        operationType:
                          type: string
                          enum:
                            - SET_APPLICATION_VERSION
                        data:
                          type: object
                          required:
                            - applicationType
                            - version
                          properties:
                            applicationType:
                              type: string
                              enum: &ref_27
                                - sssp
                                - tizen
                                - webos
                                - android
                                - brightsign
                                - linux
                                - windows
                                - default
                                - chromeos
                                - chrome
                              description: |
                                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                            version:
                              type: string
                              description: The version of the application to set.
                              example: 1.0.0
                      required: &ref_33
                        - operationType
                        - data
                    - title: Set Volume
                      type: object
                      properties: &ref_34
                        operationType:
                          type: string
                          enum:
                            - SET_VOLUME
                        data:
                          type: object
                          required:
                            - volume
                          properties:
                            volume:
                              type: integer
                              description: The volume to set.
                              example: 50
                              minimum: 0
                              maximum: 100
                      required: &ref_35
                        - operationType
                        - data
                    - title: Set Brightness
                      type: object
                      properties: &ref_36
                        operationType:
                          type: string
                          enum:
                            - SET_BRIGHTNESS
                        data:
                          type: object
                          required:
                            - brightness1
                            - brightness2
                            - timeFrom1
                            - timeFrom2
                          properties:
                            brightness1:
                              type: integer
                              description: The brightness to set.
                              example: 50
                              minimum: 0
                              maximum: 100
                            brightness2:
                              type: integer
                              description: The brightness to set.
                              example: 50
                              minimum: 0
                              maximum: 100
                            timeFrom1:
                              type: string
                              description: The time from which the brightness will be set.
                              example: '10:00:00'
                            timeFrom2:
                              type: string
                              description: The time from which the brightness will be set.
                              example: '11:00:00'
                      required: &ref_37
                        - operationType
                        - data
                    - title: Reconnect Device
                      type: object
                      properties: &ref_38
                        operationType:
                          type: string
                          enum:
                            - RECONNECT
                        data:
                          type: object
                      required: &ref_39
                        - operationType
                        - data
                    - title: Update Configuration
                      type: object
                      properties: &ref_40
                        operationType:
                          type: string
                          enum:
                            - UPDATE_CONFIGURATION
                        data:
                          type: object
                          properties:
                            platformUri:
                              type: string
                              nullable: true
                            staticBaseUrl:
                              type: string
                              nullable: true
                            uploadBaseUrl:
                              type: string
                              nullable: true
                            weinreUri:
                              type: string
                              nullable: true
                            extendedManagementUrl:
                              type: string
                              nullable: true
                            socketDriver:
                              nullable: true
                              type: string
                              enum:
                                - ws
                                - http
                                - socket.io
                      required: &ref_41
                        - operationType
                        - data
                    - title: Update Time
                      type: object
                      properties: &ref_42
                        operationType:
                          type: string
                          enum:
                            - UPDATE_TIME
                        data:
                          type: object
                          required:
                            - timestamp
                          properties:
                            timestamp:
                              type: integer
                            timezone:
                              nullable: true
                              type: string
                              example: Europe/Prague
                            ntpServer:
                              type: string
                      required: &ref_43
                        - operationType
                        - data
                    - title: Set Debug Mode
                      type: object
                      properties: &ref_44
                        operationType:
                          type: string
                          enum:
                            - SET_DEBUG
                        data:
                          type: object
                          required:
                            - appletEnabled
                            - nativeEnabled
                          properties:
                            appletEnabled:
                              type: boolean
                            nativeEnabled:
                              type: boolean
                      required: &ref_45
                        - operationType
                        - data
                    - title: Set Firmware Version
                      type: object
                      properties: &ref_46
                        operationType:
                          type: string
                          enum:
                            - SET_FIRMWARE_VERSION
                        data:
                          type: object
                          required:
                            - version
                          properties:
                            version:
                              type: string
                              description: The firmware version to set.
                              example: 1.0.0
                      required: &ref_47
                        - operationType
                        - data
                    - title: Install Package
                      type: object
                      properties: &ref_48
                        operationType:
                          type: string
                          enum:
                            - INSTALL_PACKAGE
                        data:
                          type: object
                          required:
                            - packageName
                            - applicationType
                            - buildHash
                            - version
                            - build
                          properties:
                            packageName:
                              type: string
                              description: The name of the package to install.
                            applicationType:
                              type: string
                              enum: *ref_27
                              description: |
                                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                            buildHash:
                              type: string
                              description: The build hash of the package to install.
                            version:
                              type: string
                              description: The version of the package to install.
                            build:
                              type: string
                              nullable: true
                              description: The build of the package to install.
                            specs:
                              type: object
                              nullable: true
                              default: null
                      required: &ref_49
                        - operationType
                        - data
                    - title: Install Package from URI
                      type: object
                      properties: &ref_50
                        operationType:
                          type: string
                          enum:
                            - INSTALL_PACKAGE_FROM_URI
                        data:
                          type: object
                          required:
                            - packageUri
                          properties:
                            packageUri:
                              type: string
                              description: The URI of the package to install.
                              example: https://example.com/package.zip
                            applicationType:
                              default: tizen
                              type: string
                              enum: *ref_27
                              description: |
                                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                            specs:
                              type: object
                              nullable: true
                              default: null
                      required: &ref_51
                        - operationType
                        - data
                    - title: Uninstall Package
                      type: object
                      properties: &ref_52
                        operationType:
                          type: string
                          enum:
                            - UNINSTALL_PACKAGE
                        data:
                          type: object
                          required:
                            - packageName
                            - applicationType
                            - specs
                          properties:
                            packageName:
                              type: string
                              description: The name of the package to install.
                              example: com.example.package
                            applicationType:
                              type: string
                              enum: *ref_27
                              description: |
                                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                            specs:
                              type: object
                      required: &ref_53
                        - operationType
                        - data
                    - title: Power Action
                      type: object
                      properties: &ref_54
                        operationType:
                          type: string
                          enum:
                            - POWER_ACTION
                        data:
                          type: object
                          required:
                            - powerType
                          properties:
                            powerType:
                              type: string
                              enum: &ref_28
                                - APP_RESTART
                                - SYSTEM_REBOOT
                                - APPLET_RELOAD
                                - APPLET_REFRESH
                                - DISPLAY_POWER_ON
                                - DISPLAY_POWER_OFF
                                - BACKUP_RESTART
                                - APPLET_ENABLE
                                - APPLET_DISABLE
                                - FILE_SYSTEM_WIPEOUT
                                - REAPPLY_POLICY
                      required: &ref_55
                        - operationType
                        - data
                    - title: Set Scheduled Power Action
                      type: object
                      properties: &ref_56
                        operationType:
                          type: string
                          enum:
                            - SET_SCHEDULED_POWER_ACTION
                        data:
                          type: object
                          required:
                            - powerType
                            - weekdays
                            - time
                          properties:
                            powerType:
                              type: string
                              enum: *ref_28
                            weekdays:
                              type: array
                              items:
                                type: string
                                enum:
                                  - sun
                                  - mon
                                  - tue
                                  - wed
                                  - thu
                                  - fri
                                  - sat
                            time:
                              type: string
                      required: &ref_57
                        - operationType
                        - data
                    - title: Cancel Scheduled Power Action
                      type: object
                      properties: &ref_58
                        operationType:
                          type: string
                          enum:
                            - CANCEL_SCHEDULED_POWER_ACTION
                        data:
                          type: object
                          required:
                            - scheduledPowerActionUid
                          properties:
                            scheduledPowerActionUid:
                              type: string
                              description: The UID of the scheduled power action to cancel.
                      required: &ref_59
                        - operationType
                        - data
                    - title: Set Remote Control
                      type: object
                      properties: &ref_60
                        operationType:
                          type: string
                          enum:
                            - SET_REMOTE_CONTROL
                        data:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              description: Whether or not remote control is enabled.
                      required: &ref_61
                        - operationType
                        - data
                    - title: Resize Display
                      type: object
                      properties: &ref_62
                        operationType:
                          type: string
                          enum:
                            - RESIZE
                        data:
                          type: object
                          required:
                            - resolution
                            - orientation
                          properties:
                            resolution:
                              type: object
                              required:
                                - width
                                - height
                              properties:
                                width:
                                  type: integer
                                  minimum: 0
                                height:
                                  type: integer
                                  minimum: 0
                                frameRate:
                                  type: integer
                                  minimum: 0
                            orientation:
                              type: string
                              enum: &ref_395
                                - PORTRAIT
                                - LANDSCAPE
                                - PORTRAIT_FLIPPED
                                - LANDSCAPE_FLIPPED
                                - AUTO
                            videoOrientation:
                              type: string
                              enum: &ref_396
                                - LANDSCAPE
                                - LANDSCAPE_FLIPPED
                      required: &ref_63
                        - operationType
                        - data
                    - title: Update Name
                      type: object
                      properties: &ref_64
                        operationType:
                          type: string
                          enum:
                            - UPDATE_NAME
                        data:
                          type: object
                          required:
                            - name
                          properties:
                            name:
                              type: string
                      required: &ref_65
                        - operationType
                        - data
                    - title: Ban Device
                      type: object
                      properties: &ref_66
                        operationType:
                          type: string
                          enum:
                            - BAN
                        data:
                          type: object
                      required: &ref_67
                        - operationType
                        - data
                    - title: Approve Device
                      type: object
                      properties: &ref_68
                        operationType:
                          type: string
                          enum:
                            - APPROVE
                        data:
                          type: object
                      required: &ref_69
                        - operationType
                        - data
                    - title: Change Subscription Type
                      type: object
                      properties: &ref_70
                        operationType:
                          type: string
                          enum:
                            - CHANGE_SUBSCRIPTION_TYPE
                        data:
                          type: object
                          required:
                            - subscriptionType
                          properties:
                            subscriptionType:
                              type: string
                              enum:
                                - open
                                - basic
                                - medium
                                - all
                                - platform
                      required: &ref_71
                        - operationType
                        - data
                    - title: Create Timing
                      type: object
                      properties: &ref_72
                        operationType:
                          type: string
                          enum:
                            - CREATE_TIMING
                        data:
                          type: object
                          required:
                            - appletUid
                            - appletVersion
                            - configuration
                          properties:
                            appletUid:
                              type: string
                              description: Applet unique identification
                            appletVersion:
                              type: string
                              description: Version of your applet
                            startsAt:
                              type: string
                              deprecated: true
                              description: Since when the Applet should be set on device
                            endsAt:
                              type: string
                              deprecated: true
                              description: Until when the Applet should be set on device
                            configuration:
                              type: object
                            finishEvent:
                              type: object
                              deprecated: true
                              properties:
                                type:
                                  type: string
                                  enum: &ref_29
                                    - DURATION
                                    - IDLE_TIMEOUT
                                    - SCREEN_TAP
                                data:
                                  type: object
                              required:
                                - type
                            active:
                              type: boolean
                            position:
                              type: integer
                      required: &ref_73
                        - operationType
                        - data
                    - title: Update Timing
                      type: object
                      properties: &ref_74
                        operationType:
                          type: string
                          enum:
                            - UPDATE_TIMING
                        data:
                          type: object
                          required:
                            - appletUid
                          properties:
                            appletUid:
                              type: string
                              description: Applet unique identification
                            appletVersion:
                              type: string
                              description: Version of your applet
                            startsAt:
                              type: string
                              deprecated: true
                              description: Since when the Applet should be set on device
                            endsAt:
                              type: string
                              deprecated: true
                              description: Until when the Applet should be set on device
                            configuration:
                              type: object
                            configurationSet:
                              type: object
                            configurationRemoveKeys:
                              type: array
                              items:
                                type: string
                            finishEvent:
                              type: object
                              deprecated: true
                              properties:
                                type:
                                  type: string
                                  enum: *ref_29
                                data:
                                  type: object
                              required:
                                - type
                            active:
                              type: boolean
                            position:
                              type: integer
                      required: &ref_75
                        - operationType
                        - data
                    - title: Delete Timing
                      type: object
                      properties: &ref_76
                        operationType:
                          type: string
                          enum:
                            - DELETE_TIMING
                        data:
                          type: object
                          required:
                            - uid
                            - appletUid
                            - appletVersion
                          properties:
                            uid:
                              type: string
                            appletUid:
                              type: string
                            appletVersion:
                              type: string
                      required: &ref_77
                        - operationType
                        - data
                    - title: Set Device Applet Test Suite
                      type: object
                      properties: &ref_78
                        operationType:
                          type: string
                          enum:
                            - SET_DEVICE_APPLET_TEST_SUITE
                        data:
                          type: object
                          required:
                            - appletUid
                            - appletVersion
                            - tests
                          properties:
                            appletUid:
                              type: string
                            appletVersion:
                              type: string
                            tests:
                              type: array
                              items:
                                type: string
                      required: &ref_79
                        - operationType
                        - data
                    - title: Set Test Suite
                      type: object
                      properties: &ref_80
                        operationType:
                          type: string
                          enum:
                            - SET_TEST_SUITE
                        data:
                          type: object
                          required:
                            - tests
                          properties:
                            tests:
                              type: array
                              items:
                                type: string
                      required: &ref_81
                        - operationType
                        - data
                    - title: Start Package
                      type: object
                      properties: &ref_82
                        operationType:
                          type: string
                          enum:
                            - START_PACKAGE
                        data:
                          type: object
                          required:
                            - packageName
                            - applicationType
                          properties:
                            packageName:
                              type: string
                            applicationType:
                              type: string
                              enum: *ref_27
                              description: |
                                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                      required: &ref_83
                        - operationType
                        - data
                    - title: Set Timer
                      type: object
                      properties: &ref_84
                        operationType:
                          type: string
                          enum:
                            - SET_TIMER
                        data:
                          type: object
                          required:
                            - type
                            - volume
                            - weekdays
                          properties:
                            type:
                              type: string
                              enum:
                                - TIMER_1
                                - TIMER_2
                                - TIMER_3
                                - TIMER_4
                                - TIMER_5
                                - TIMER_6
                                - TIMER_7
                            volume:
                              type: integer
                              minimum: 0
                              maximum: 100
                            weekdays:
                              type: array
                              items:
                                type: string
                                enum:
                                  - sun
                                  - mon
                                  - tue
                                  - wed
                                  - thu
                                  - fri
                                  - sat
                            timeOn:
                              type: string
                              nullable: true
                            timeOff:
                              type: string
                              nullable: true
                      required: &ref_85
                        - operationType
                        - data
                    - title: Set Proprietary Timer
                      type: object
                      properties: &ref_86
                        operationType:
                          type: string
                          enum:
                            - SET_PROPRIETARY_TIMER
                        data:
                          type: object
                          required:
                            - type
                            - weekdays
                          properties:
                            type:
                              type: string
                              enum:
                                - TIMER_1
                                - TIMER_2
                                - TIMER_3
                                - TIMER_4
                                - TIMER_5
                                - TIMER_6
                                - TIMER_7
                            weekdays:
                              type: array
                              items:
                                type: string
                                enum:
                                  - sun
                                  - mon
                                  - tue
                                  - wed
                                  - thu
                                  - fri
                                  - sat
                            timeOn:
                              type: string
                              nullable: true
                            timeOff:
                              type: string
                              nullable: true
                      required: &ref_87
                        - operationType
                        - data
                    - title: Set Power Status
                      type: object
                      properties: &ref_88
                        operationType:
                          type: string
                          enum:
                            - SET_POWER_STATUS
                        data:
                          type: object
                          required:
                            - turnedOn
                          properties:
                            turnedOn:
                              type: boolean
                      required: &ref_89
                        - operationType
                        - data
                    - title: Set Input Source
                      type: object
                      properties: &ref_90
                        operationType:
                          type: string
                          enum:
                            - SET_INPUT_SOURCE
                        data:
                          type: object
                          required:
                            - inputSource
                          properties:
                            inputSource:
                              type: string
                              enum: &ref_220
                                - urlLauncher
                                - hdmi1
                                - hdmi2
                                - hdmi3
                                - hdmi4
                      required: &ref_91
                        - operationType
                        - data
                    - title: Set Display Backlight
                      type: object
                      properties: &ref_92
                        operationType:
                          type: string
                          enum:
                            - SET_DISPLAY_BACKLIGHT
                        data:
                          type: object
                          required:
                            - backlight
                          properties:
                            backlight:
                              type: integer
                      required: &ref_93
                        - operationType
                        - data
                    - title: Set Display Contrast
                      type: object
                      properties: &ref_94
                        operationType:
                          type: string
                          enum:
                            - SET_DISPLAY_CONTRAST
                        data:
                          type: object
                          required:
                            - contrast
                          properties:
                            contrast:
                              type: integer
                      required: &ref_95
                        - operationType
                        - data
                    - title: Set Display Sharpness
                      type: object
                      properties: &ref_96
                        operationType:
                          type: string
                          enum:
                            - SET_DISPLAY_SHARPNESS
                        data:
                          type: object
                          required:
                            - sharpness
                          properties:
                            sharpness:
                              type: integer
                      required: &ref_97
                        - operationType
                        - data
                    - title: Set Display Temperature Control
                      type: object
                      properties: &ref_98
                        operationType:
                          type: string
                          enum:
                            - SET_DISPLAY_TEMPERATURE_CONTROL
                        data:
                          type: object
                          required:
                            - maxTemperature
                          properties:
                            maxTemperature:
                              type: integer
                      required: &ref_99
                        - operationType
                        - data
                    - title: Set Remote Desktop
                      type: object
                      properties: &ref_100
                        operationType:
                          type: string
                          enum:
                            - SET_REMOTE_DESKTOP
                        data:
                          type: object
                          required:
                            - enabled
                          properties:
                            enabled:
                              type: boolean
                            remoteDesktopUri:
                              type: string
                      required: &ref_101
                        - operationType
                        - data
                    - title: Set Policy
                      type: object
                      properties: &ref_102
                        operationType:
                          type: string
                          enum:
                            - SET_POLICY
                        data:
                          type: object
                          required:
                            - policyUid
                            - priority
                          properties:
                            policyUid:
                              type: string
                              description: The UID of the policy to set.
                            priority:
                              type: integer
                      required: &ref_103
                        - operationType
                        - data
                    - title: Delete Policy
                      type: object
                      properties: &ref_104
                        operationType:
                          type: string
                          enum:
                            - DELETE_POLICY
                        data:
                          type: object
                          required:
                            - policyUid
                          properties:
                            policyUid:
                              type: string
                              description: The UID of the policy to set.
                      required: &ref_105
                        - operationType
                        - data
                    - title: Set Organization Tags
                      type: object
                      properties: &ref_106
                        operationType:
                          type: string
                          enum:
                            - SET_ORGANIZATION_TAGS
                        data:
                          type: object
                          required:
                            - tagUids
                          properties:
                            tagUids:
                              type: array
                              items:
                                type: string
                      required: &ref_107
                        - operationType
                        - data
                    - title: Add Organization Tags
                      type: object
                      properties: &ref_108
                        operationType:
                          type: string
                          enum:
                            - ADD_ORGANIZATION_TAGS
                        data:
                          type: object
                          required:
                            - tagUids
                          properties:
                            tagUids:
                              type: array
                              items:
                                type: string
                      required: &ref_109
                        - operationType
                        - data
                    - title: Delete Organization Tags
                      type: object
                      properties: &ref_110
                        operationType:
                          type: string
                          enum:
                            - DELETE_ORGANIZATION_TAGS
                        data:
                          type: object
                          required:
                            - tagUids
                          properties:
                            tagUids:
                              type: array
                              items:
                                type: string
                      required: &ref_111
                        - operationType
                        - data
                    - title: Set Organization
                      type: object
                      properties: &ref_112
                        operationType:
                          type: string
                          enum:
                            - SET_ORGANIZATION
                        data:
                          type: object
                          required:
                            - organizationUid
                          properties:
                            organizationUid:
                              type: string
                              description: The UID of the organization to which the device should be moved.
                      required: &ref_113
                        - operationType
                        - data
                    - title: Set Peer Recovery Enabled
                      type: object
                      properties: &ref_114
                        operationType:
                          type: string
                          enum:
                            - SET_PEER_RECOVERY
                        data:
                          type: object
                          required:
                            - enabled
                          properties:
                            enabled:
                              type: boolean
                              enum:
                                - true
                            urlLauncherAddress:
                              type: string
                              example: http://example.com/app/tizen/1.2.3/landscape
                      required: &ref_115
                        - operationType
                        - data
                    - title: Set Peer Recovery Disabled
                      type: object
                      properties: &ref_116
                        operationType:
                          type: string
                          enum:
                            - SET_PEER_RECOVERY
                        data:
                          type: object
                          required:
                            - enabled
                          properties:
                            enabled:
                              type: boolean
                              enum:
                                - false
                            autoEnableTimeoutMs:
                              type: integer
                      required: &ref_117
                        - operationType
                        - data
                    - title: Set Auto Recovery Enabled
                      type: object
                      properties: &ref_118
                        operationType:
                          type: string
                          enum:
                            - SET_AUTO_RECOVERY
                        data:
                          type: object
                          required:
                            - enabled
                            - healthcheckIntervalMs
                          properties:
                            enabled:
                              type: boolean
                              enum:
                                - true
                            healthcheckIntervalMs:
                              type: integer
                      required: &ref_119
                        - operationType
                        - data
                    - title: Set Auto Recovery Disabled
                      type: object
                      properties: &ref_120
                        operationType:
                          type: string
                          enum:
                            - SET_AUTO_RECOVERY
                        data:
                          type: object
                          required:
                            - enabled
                          properties:
                            enabled:
                              type: boolean
                              enum:
                                - false
                            autoEnableTimeoutMs:
                              type: integer
                      required: &ref_121
                        - operationType
                        - data
                    - title: Enable Extended Telemetry
                      type: object
                      properties: &ref_122
                        operationType:
                          type: string
                          enum:
                            - ENABLE_EXTENDED_TELEMETRY
                        data:
                          type: object
                          required:
                            - duration
                          properties:
                            duration:
                              type: integer
                              description: The duration of the extended telemetry in seconds
                      required: &ref_123
                        - operationType
                        - data
                    - title: Disable Extended Telemetry
                      type: object
                      properties: &ref_124
                        operationType:
                          type: string
                          enum:
                            - DISABLE_EXTENDED_TELEMETRY
                        data:
                          type: object
                          description: Send an empty JSON object ({}) to match the type definition. The request body is required to conform to the expected schema, even though it carries no data.
                      required: &ref_125
                        - operationType
                        - data
                    - title: Update Telemetry Check Intervals
                      type: object
                      properties: &ref_126
                        operationType:
                          type: string
                          enum:
                            - UPDATE_TELEMETRY_CHECK_INTERVAL
                            - TELEMETRY_INTERVALS
                        data:
                          type: object
                          properties:
                            screenshots:
                              type: integer
                              description: The interval in seconds for the screenshots
                            temperature:
                              type: integer
                              description: The interval in seconds for the temperature
                            applicationVersion:
                              type: integer
                              description: The interval in seconds for the application version
                            frontDisplayVersion:
                              type: integer
                              description: The interval in seconds for the front display version
                            brightness:
                              type: integer
                              description: The interval in seconds for the brightness
                            datetime:
                              type: integer
                              description: The interval in seconds for the datetime
                            debug:
                              type: integer
                              description: The interval in seconds for the debug
                            firmwareVersion:
                              type: integer
                              description: The interval in seconds for the firmware version
                            orientation:
                              type: integer
                              description: The interval in seconds for the orientation
                            powerActionsSchedule:
                              type: integer
                              description: The interval in seconds for the power actions schedule
                            proprietaryTimers:
                              type: integer
                              description: The interval in seconds for the proprietary timers
                            remoteControl:
                              type: integer
                              description: The interval in seconds for the remote control
                            resolution:
                              type: integer
                              description: The interval in seconds for the resolution
                            timers:
                              type: integer
                              description: The interval in seconds for the timers
                            volume:
                              type: integer
                              description: The interval in seconds for the volume
                            storage:
                              type: integer
                              description: The interval in seconds for the storage
                            battery:
                              type: integer
                              description: The interval in seconds for the battery
                            policy:
                              type: integer
                              description: The interval in seconds for the policy
                            peerRecovery:
                              type: integer
                              description: The interval in seconds for the peer recovery
                            autoRecovery:
                              type: integer
                              description: The interval in seconds for the auto recovery
                            supra:
                              type: integer
                              description: The interval in seconds for the SUPRA mode telemetry
                            default:
                              type: integer
                              description: The interval in seconds for the default
                      required: &ref_127
                        - operationType
                        - data
                    - title: Set VPN
                      type: object
                      properties: &ref_128
                        operationType:
                          type: string
                          enum:
                            - SET_VPN
                        data:
                          type: object
                          required:
                            - enabled
                          properties:
                            enabled:
                              type: boolean
                              description: Declare if the VPN should be enabled or disabled.
                              example: true
                      required: &ref_129
                        - operationType
                        - data
                    - title: Set RM Server
                      type: object
                      properties: &ref_130
                        operationType:
                          type: string
                          enum:
                            - SET_RM_SERVER
                        data:
                          type: object
                          required:
                            - rmServerUrl
                          properties:
                            rmServerUrl:
                              type: string
                              nullable: true
                              description: The URL of the RM server.
                              example: http://example.com
                      required: &ref_131
                        - operationType
                        - data
                    - title: Send Applet Command
                      type: object
                      properties: &ref_132
                        operationType:
                          type: string
                          enum:
                            - SEND_APPLET_COMMAND
                        data:
                          type: object
                          required:
                            - appletUid
                            - command
                          properties:
                            appletUid:
                              type: string
                            command:
                              type: object
                    - title: Set Location
                      type: object
                      properties: &ref_133
                        operationType:
                          type: string
                          enum:
                            - SET_LOCATION
                        data:
                          type: object
                          required:
                            - locationUid
                          properties:
                            locationUid:
                              type: string
                              description: The UID of the location.
                    - title: Delete Location
                      type: object
                      properties: &ref_134
                        operationType:
                          type: string
                          enum:
                            - DELETE_LOCATION
                        data:
                          type: object
                    - title: Execute Device Custom Script
                      type: object
                      properties: &ref_135
                        operationType:
                          type: string
                          enum:
                            - EXECUTE_CUSTOM_SCRIPT
                        data:
                          type: object
                          required:
                            - customScriptUid
                            - version
                            - configuration
                          properties:
                            customScriptUid:
                              type: string
                            version:
                              type: string
                            configuration:
                              type: object
                      required: &ref_136
                        - operationType
                        - data
                    - title: Revoke Device Key
                      type: object
                      properties: &ref_137
                        operationType:
                          type: string
                          enum:
                            - REVOKE_DEVICE_KEY
                        data:
                          type: object
                      required: &ref_138
                        - operationType
                        - data
      responses:
        '201':
          description: Example of successfully created bulk operation
          headers:
            Location:
              schema:
                type: string
                description: Url of the created bulk operation.
                example: https://api.signageos.io/v1/bulk-operation/a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
  /v1/bulk-operation/preview:
    post:
      tags:
        - Bulk Operation
      summary: Preview bulk operation impact before creation
      description: Allows users to preview how a bulk action will affect their device network before actual execution.  Bulk operations enable simultaneous management of multiple devices, saving time and effort when managing large device networks.  The preview shows the expected count of affected devices, which may differ from final execution count if the operation is scheduled. This preview step is recommended to validate your bulk action configuration before committing changes across your organization's network.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties: *ref_30
                  required: *ref_31
                - oneOf:
                    - title: Set Application Version
                      type: object
                      properties: *ref_32
                      required: *ref_33
                    - title: Set Volume
                      type: object
                      properties: *ref_34
                      required: *ref_35
                    - title: Set Brightness
                      type: object
                      properties: *ref_36
                      required: *ref_37
                    - title: Reconnect Device
                      type: object
                      properties: *ref_38
                      required: *ref_39
                    - title: Update Configuration
                      type: object
                      properties: *ref_40
                      required: *ref_41
                    - title: Update Time
                      type: object
                      properties: *ref_42
                      required: *ref_43
                    - title: Set Debug Mode
                      type: object
                      properties: *ref_44
                      required: *ref_45
                    - title: Set Firmware Version
                      type: object
                      properties: *ref_46
                      required: *ref_47
                    - title: Install Package
                      type: object
                      properties: *ref_48
                      required: *ref_49
                    - title: Install Package from URI
                      type: object
                      properties: *ref_50
                      required: *ref_51
                    - title: Uninstall Package
                      type: object
                      properties: *ref_52
                      required: *ref_53
                    - title: Power Action
                      type: object
                      properties: *ref_54
                      required: *ref_55
                    - title: Set Scheduled Power Action
                      type: object
                      properties: *ref_56
                      required: *ref_57
                    - title: Cancel Scheduled Power Action
                      type: object
                      properties: *ref_58
                      required: *ref_59
                    - title: Set Remote Control
                      type: object
                      properties: *ref_60
                      required: *ref_61
                    - title: Resize Display
                      type: object
                      properties: *ref_62
                      required: *ref_63
                    - title: Update Name
                      type: object
                      properties: *ref_64
                      required: *ref_65
                    - title: Ban Device
                      type: object
                      properties: *ref_66
                      required: *ref_67
                    - title: Approve Device
                      type: object
                      properties: *ref_68
                      required: *ref_69
                    - title: Change Subscription Type
                      type: object
                      properties: *ref_70
                      required: *ref_71
                    - title: Create Timing
                      type: object
                      properties: *ref_72
                      required: *ref_73
                    - title: Update Timing
                      type: object
                      properties: *ref_74
                      required: *ref_75
                    - title: Delete Timing
                      type: object
                      properties: *ref_76
                      required: *ref_77
                    - title: Set Device Applet Test Suite
                      type: object
                      properties: *ref_78
                      required: *ref_79
                    - title: Set Test Suite
                      type: object
                      properties: *ref_80
                      required: *ref_81
                    - title: Start Package
                      type: object
                      properties: *ref_82
                      required: *ref_83
                    - title: Set Timer
                      type: object
                      properties: *ref_84
                      required: *ref_85
                    - title: Set Proprietary Timer
                      type: object
                      properties: *ref_86
                      required: *ref_87
                    - title: Set Power Status
                      type: object
                      properties: *ref_88
                      required: *ref_89
                    - title: Set Input Source
                      type: object
                      properties: *ref_90
                      required: *ref_91
                    - title: Set Display Backlight
                      type: object
                      properties: *ref_92
                      required: *ref_93
                    - title: Set Display Contrast
                      type: object
                      properties: *ref_94
                      required: *ref_95
                    - title: Set Display Sharpness
                      type: object
                      properties: *ref_96
                      required: *ref_97
                    - title: Set Display Temperature Control
                      type: object
                      properties: *ref_98
                      required: *ref_99
                    - title: Set Remote Desktop
                      type: object
                      properties: *ref_100
                      required: *ref_101
                    - title: Set Policy
                      type: object
                      properties: *ref_102
                      required: *ref_103
                    - title: Delete Policy
                      type: object
                      properties: *ref_104
                      required: *ref_105
                    - title: Set Organization Tags
                      type: object
                      properties: *ref_106
                      required: *ref_107
                    - title: Add Organization Tags
                      type: object
                      properties: *ref_108
                      required: *ref_109
                    - title: Delete Organization Tags
                      type: object
                      properties: *ref_110
                      required: *ref_111
                    - title: Set Organization
                      type: object
                      properties: *ref_112
                      required: *ref_113
                    - title: Set Peer Recovery Enabled
                      type: object
                      properties: *ref_114
                      required: *ref_115
                    - title: Set Peer Recovery Disabled
                      type: object
                      properties: *ref_116
                      required: *ref_117
                    - title: Set Auto Recovery Enabled
                      type: object
                      properties: *ref_118
                      required: *ref_119
                    - title: Set Auto Recovery Disabled
                      type: object
                      properties: *ref_120
                      required: *ref_121
                    - title: Enable Extended Telemetry
                      type: object
                      properties: *ref_122
                      required: *ref_123
                    - title: Disable Extended Telemetry
                      type: object
                      properties: *ref_124
                      required: *ref_125
                    - title: Update Telemetry Check Intervals
                      type: object
                      properties: *ref_126
                      required: *ref_127
                    - title: Set VPN
                      type: object
                      properties: *ref_128
                      required: *ref_129
                    - title: Set RM Server
                      type: object
                      properties: *ref_130
                      required: *ref_131
                    - title: Send Applet Command
                      type: object
                      properties: *ref_132
                    - title: Set Location
                      type: object
                      properties: *ref_133
                    - title: Delete Location
                      type: object
                      properties: *ref_134
                    - title: Execute Device Custom Script
                      type: object
                      properties: *ref_135
                      required: *ref_136
                    - title: Revoke Device Key
                      type: object
                      properties: *ref_137
                      required: *ref_138
      responses:
        '200':
          description: Previews info about bulk operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  expectedCount:
                    type: number
                  filter:
                    type: object
              example:
                expectedCount: 42
                filter:
                  organizationUid: example-organization-uid
                  applicationType: linux
                  tagUids:
                    - example-tag-uid-1
                    - example-tag-uid-2
        '400':
          description: Bad request
          content: *ref_2
  /v1/bulk-operation/{bulkOperationUid}:
    get:
      tags:
        - Bulk Operation
      summary: Get bulk operation
      description: Get bulk operation by bulkOperationUid.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: bulkOperationUid
          in: path
          schema:
            type: string
          description: Unique Bulk Operation Identification
          required: true
          example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_139
              example:
                uid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                name: My Bulk Operation
                filter: *ref_140
                deviceUids: *ref_141
                failedDeviceUids: *ref_142
                successfulDeviceUids: *ref_143
                skippedDeviceUids: *ref_144
                createdAt: '2021-03-30T18:57:33.669Z'
                pausedAt: '2021-03-30T18:57:33.669Z'
                stoppedAt: '2021-03-30T18:57:33.669Z'
                resumedAt: '2021-03-30T18:57:33.669Z'
                archivedAt: '2021-03-30T18:57:33.669Z'
                finishedAt: '2021-03-30T18:57:33.669Z'
                isRunning: true
                schedule: *ref_145
                rollingUpdate: *ref_146
                operationType: SET_APPLICATION_VERSION
                data: *ref_147
                progress: *ref_148
  /v1/bulk-operation/{bulkOperationUid}/archive:
    put:
      tags:
        - Bulk Operation
      summary: Archive bulk operation
      description: Archive bulk operation by bulkOperationUid.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: bulkOperationUid
          in: path
          schema:
            type: string
          description: Unique Bulk Operation Identification
          required: true
          example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/bulk-operation/{bulkOperationUid}/pause:
    put:
      tags:
        - Bulk Operation
      summary: Pause bulk operation
      description: Pause bulk operation by bulkOperationUid.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: bulkOperationUid
          in: path
          schema:
            type: string
          description: Unique Bulk Operation Identification
          required: true
          example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/bulk-operation/{bulkOperationUid}/resume:
    put:
      tags:
        - Bulk Operation
      summary: Resume bulk operation
      description: Resume bulk operation by bulkOperationUid.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: bulkOperationUid
          in: path
          schema:
            type: string
          description: Unique Bulk Operation Identification
          required: true
          example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                rollingUpdate:
                  type: object
                  properties:
                    batchSize:
                      type: integer
                    batchDelay:
                      type: integer
                    stopThreshold:
                      type: integer
            example:
              rollingUpdate:
                batchSize: 1000
                batchDelay: 10000
                stopThreshold: 20
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/bulk-operation/{bulkOperationUid}/stop:
    put:
      tags:
        - Bulk Operation
      summary: Stop bulk operation
      description: Stop bulk operation by bulkOperationUid.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: bulkOperationUid
          in: path
          schema:
            type: string
          description: Unique Bulk Operation Identification
          required: true
          example: b14606b90abe94acd006349f2cftd53d650d6dd545a2e40b5a83d
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/bulk-provisioning/recipe:
    post:
      tags:
        - BulkProvisioning/Recipe
      summary: Create Provision recipe
      description: |-
        Creates a new Provision recipe for current Organization
        ## Body
        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `brand` | string | required |  |
        | `seriaNumber` | string | optional |  |
        | `model` | string | optional |  |
        | `macAddress` | string | optional |  |
        | `tagUids` | string | optional | List of tags. |
        | `deviceName` | string | optional |  |
        | `policyUid` | string | optional | Unique policy identification. |
        | `locationUid` | string | optional |  |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                deviceName: Nice device name
                serialNumber: '1'
                macAddress: 12:34:56:78:90:ab
                model: Good Display LCD
                brand: Good Display
                tagUids:
                  - 12345678900d7618ef832994f819b2e6216d2a27c62bb0b526
                policyUid: 1234567890c641df0b1a1701a1c6efb93fe053a8faeba5bce2
                locationUid: 123456789071821f914dcfbca02e6a27dd0eaf74b853f108cc
      security:
        - XAuthOrganization: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
    get:
      tags:
        - BulkProvisioning/Recipe
      summary: Get Provision recipes
      description: Get all provision recipes for current Organization.
      security:
        - XAuthOrganization: []
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: search
          in: query
          schema:
            type: string
          description: search by string contained in model, brand, serialNumber or macAddress
          example: TV
        - name: status
          in: query
          schema:
            type: string
            enum:
              - Pending
              - Applied
          description: filter by device status
          example: Pending
        - name: brand
          in: query
          schema:
            type: string
          description: filter by device brand
          example: Sony
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: filter by list of tags
          example: '{{tagUid}}'
        - name: policyUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: filter by list of policies
          example: '{{policyUid}}'
        - name: locationUid
          in: query
          schema:
            type: string
          description: filter by location
          example: '{{locationUid}}'
        - name: model
          in: query
          schema:
            type: string
          description: filter by device model matching
          example: LGE-55SM5C-BF-1
        - name: macAddress
          in: query
          schema:
            type: string
          description: filter by device mac address
          example: 12:34:56:78:90:ab
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_149
                    uid:
                      type: string
                    organizationUid:
                      type: string
                      description: The UID of the organization.
                      example: d2261a2052d3ab986e1dadbd9b9185400b38
                    deviceUid:
                      description: Unique device identifier. Set when the recipe is applied to a device.
                      type: string
                      nullable: true
                    deviceName:
                      type: string
                      nullable: true
                    serialNumber:
                      type: string
                      nullable: true
                    macAddress:
                      type: string
                      nullable: true
                    model:
                      type: string
                      nullable: true
                    brand:
                      type: string
                      nullable: true
                    tagUids:
                      type: array
                      items:
                        type: string
                      nullable: true
                    status:
                      type: string
                      enum:
                        - Pending
                        - Applied
                      nullable: true
                    policyUid:
                      type: string
                      nullable: true
                    locationUid:
                      type: string
                      nullable: true
                    confirmedOwnership:
                      type: boolean
                      nullable: true
              example:
                - status: Pending
                  uid: 1234567890c7dbe8ccd61e80e30d46b12902
                  organizationUid: 1234567890423d4171e348d6a1a1222e3b0075c8d7ebac868a
                  model: Good Display LCD
                  brand: Good Display
                  macAddress: 12:34:56:78:90:ab
                  serialNumber: '1'
                - status: Pending
                  uid: 2134567890c7dbe8ccd61e80e30d46b12902
                  organizationUid: 1234567890423d4171e348d6a1a1222e3b0075c8d7ebac868a
                  model: Good Display LCD
                  brand: Good Display
                  macAddress: 21:34:56:78:90:ab
                  serialNumber: '2'
  /v1/bulk-provisioning/recipe/csv:
    post:
      tags:
        - BulkProvisioning/Recipe
      summary: Upload provisioning recipes via CSV file
      description: |-
        Creates a new Provision recipes for current Organization by uploading CSV file

        *   [Bulk upload CSV - format and example](https://docs.signageos.io/hc/en-us/articles/9549183699612#bulk-upload-0-4)
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          text/csv:
            schema:
              type: string
              format: binary
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
                linesProcessed: 2
  /v1/bulk-provisioning/recipe/{recipeUid}:
    get:
      tags:
        - BulkProvisioning/Recipe
      summary: Get Provision recipe
      description: |-
        Get Provision recipe for current Organization by `recipeUid`.
        ## Parameters
        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `recipeUid` | string | required |  |
      parameters:
        - name: recipeUid
          in: path
          schema: &ref_150
            type: string
          required: true
          example: '{{recipeUid}}'
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_149
              example:
                status: Pending
                uid: 1234567890c7dbe8ccd61e80e30d46b12902
                organizationUid: 1234567890423d4171e348d6a1a1222e3b0075c8d7ebac868a
                model: Good Display LCD
                brand: Good Display
                macAddress: 12:34:56:78:90:ab
                serialNumber: '1'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Provisioning recipe with ${uid} not found
                errorCode: 404234
                errorName: NO_PROVISIONING_RECIPE_TO_READ
                errorDetail: No provisioning recipe found for recipeUid specified in URI path
    put:
      tags:
        - BulkProvisioning/Recipe
      summary: Update Provision recipe
      description: |-
        Update existing Provision recipe for current Organization
        ## Parameters
        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `recipeUid` | string | required |  |
        ## Body
        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `brand` | string | optional |  |
        | `seriaNumber` | string | optional |  |
        | `model` | string | optional |  |
        | `macAddress` | string | optional |  |
        | `tagUids` | string | optional | List of tags. |
        | `deviceName` | string | optional |  |
        | `policyUid` | string | optional | Unique policy identification. |
        | `locationUid` | string | optional |  |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                deviceName: Different name
                model: Bad Display LCD
      parameters:
        - name: recipeUid
          in: path
          schema: *ref_150
          required: true
          example: '{{recipeUid}}'
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: Modified
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
    delete:
      tags:
        - BulkProvisioning/Recipe
      summary: Delete Provision recipe
      description: |-
        Delete Provision recipe for current Organization by `recipeUid`.
        ## Parameters
        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `recipeUid` | string | required |  |
      parameters:
        - name: recipeUid
          in: path
          schema: *ref_150
          required: true
          example: '{{recipeUid}}'
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: Deleted
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Provisioning recipe with ${uid} not found
                errorCode: 404234
                errorName: NO_PROVISIONING_RECIPE_TO_READ
                errorDetail: No provisioning recipe found for recipeUid specified in URI path
  /v1/company:
    get:
      tags:
        - Company
      summary: Get Companies
      description: Get all Companies
      security:
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: name
          in: query
          description: Filter by company name
          schema:
            type: string
          example: signageos
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - name
              - createdAt
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_153
                    uid:
                      type: string
                    name:
                      type: string
                    title:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    devices:
                      type: integer
                    users:
                      type: integer
                    organizations:
                      type: integer
                    trialStatus:
                      type: string
                      enum:
                        - production
                        - trial
                        - trial expired
                    credits:
                      type: integer
                    projectedCreditsUsage:
                      type: integer
                    monthsLeftCredits:
                      type: integer
                    totalUsedCredits:
                      type: integer
                    billingPlan:
                      type: string
                      description: The billing plan of the company.
                      enum:
                        - open
                        - starter
                        - medium
                        - enterprise
                    billingInfo:
                      type: object
                      description: Billing information of the company.
                      properties:
                        companyName:
                          type: string
                        taxId:
                          type: string
                        street:
                          type: string
                        street2:
                          type: string
                        postcode:
                          type: string
                        city:
                          type: string
                        state:
                          type: string
                        country:
                          type: string
                        email:
                          type: string
                        phone:
                          type: string
                        contactPersonName:
                          type: string
                        orderID:
                          type: string
                      required:
                        - companyName
                        - street
                        - postcode
                        - city
                        - state
                        - country
                    billingModel:
                      type: string
                      description: The billing model of the company.
                      enum:
                        - standard
                        - credit
                    licenses:
                      type: object
                      description: Features configuration for the company.
                      properties:
                        dev_space:
                          type: object
                          properties:
                            users:
                              type: number
                            appBuildsPerMonth:
                              type: number
                    trialPeriodEndedAt:
                      type: string
                      format: date-time
                    isSuper:
                      type: boolean
                    companyNetworkUids:
                      type: array
                      items:
                        type: string
                    whiteLabelSettingsUid:
                      type: string
                    emailDomains:
                      type: array
                      items:
                        type: string
                    defaultAccountRole:
                      type: string
                      nullable: true
                    secretsEnabled:
                      type: boolean
                    isMfaRequired:
                      type: boolean
                    deviceNameTemplate:
                      type: string
                    companyFeatureEntitlements:
                      type: array
                      description: Additional feature entitlements enabled for the company.
                      items:
                        oneOf:
                          - enum:
                              - cloudControl
                            title: CloudControl
                            description: Grants access to the general CloudControl environment for device management.
                          - enum:
                              - devSpace
                            title: DevSpace
                            description: Grants access to the general DevSpace environment for applet development, CoreApp building, and debugging.
                          - enum:
                              - sso
                            title: SSO
                            description: Enables Single Sign-On (SSO) integration for the company's users.
                          - enum:
                              - secrets
                            title: Secrets
                            description: Allows the company to securely store and manage sensitive data such as API keys or credentials and send them to devices.
                          - enum:
                              - godMode
                            title: GodMode
                            description: Unlocks expert-mode settings across the signageOS platform, intended for power users.
                          - enum:
                              - prioritySupport
                            title: Priority Support
                            description: Provides prioritized technical support from signageOS. Used on support section.
                          - enum:
                              - devSpaceTizen
                            title: DevSpace Tizen
                            description: Grants access to build Tizen CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceTizenTEP
                            title: DevSpace Tizen TEP
                            description: Grants access to build Tizen TEP CoreApps with built-in applet within the DevSpace environment - Tizen 6.5 and above.
                          - enum:
                              - devSpaceTizenEPaper
                            title: DevSpace Tizen EPaper
                            description: Grants access to build Tizen EPaper CoreApps with built-in applet within the DevSpace environment - Only Tizen Epaper.
                          - enum:
                              - devSpaceWebOS
                            title: DevSpace WebOS
                            description: Grants access to build webOS CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceWebOSIDCap
                            title: DevSpace WebOS IDCap
                            description: Grants access to build webOS IDCap CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceBrightsign
                            title: DevSpace BrightSign
                            description: Grants access to build BrightSign CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceBrightsign9
                            title: DevSpace BrightSign 9
                            description: Grants access to build BrightSign 9 CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceLinux
                            title: DevSpace Linux
                            description: Grants access to build Linux Yocto CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceLinuxUbuntu
                            title: DevSpace Linux Ubuntu
                            description: Grants access to build Linux Ubuntu CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceLinuxDebian
                            title: DevSpace Linux Debian
                            description: Grants access to build Linux Debian CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceLinuxFedora
                            title: DevSpace Linux Fedora
                            description: Grants access to build Linux Fedora CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceRaspberryPi
                            title: DevSpace RaspberryPi
                            description: Grants access to build Raspberry Pi CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceAndroidLegacy
                            title: DevSpace Android Legacy
                            description: Grants access to build generic Android 4.4 up to 9 CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceAndroid
                            title: DevSpace Android
                            description: Grants access to build generic Android 10+ CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceSony
                            title: DevSpace Sony
                            description: Grants access to build Sony CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpacePhilips
                            title: DevSpace Philips
                            description: Grants access to build Philips CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceElo
                            title: DevSpace Elo
                            description: Grants access to build Elo CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceSSSP
                            title: DevSpace SSSP
                            description: Grants access to build SSSP CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceWindows
                            title: DevSpace Windows
                            description: Grants access to build Windows CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceChromeOS
                            title: DevSpace ChromeOS
                            description: Grants access to build ChromeOS CoreApps with built-in applet within the DevSpace environment.
                          - enum:
                              - devSpaceManagementAPI
                            title: DevSpace Management API
                            description: DevSpace capability unlocking Management JS API.
                          - enum:
                              - devSpaceSyncAPI
                            title: DevSpace Sync API
                            description: DevSpace capability unlocking Sync JS API.
                          - enum:
                              - devSpaceContentAPI
                            title: DevSpace Content API
                            description: DevSpace capability unlocking Content JS API.
                          - enum:
                              - devSpacePoPAPI
                            title: DevSpace PoP API
                            description: DevSpace capability unlocking PoP JS API.
                          - enum:
                              - devSpaceBrandedApps
                            title: DevSpace Branded Apps
                            description: DevSpace feature for plans unlocking branded apps.
                          - enum:
                              - devSpaceAppHosting
                            title: DevSpace App Hosting
                            description: DevSpace feature for plans unlocking app hosting.
                          - enum:
                              - devSpaceRemoteTestingLab
                            title: DevSpace Remote Testing Lab
                            description: DevSpace feature for plans unlocking remote testing lab.
                          - enum:
                              - devSpaceCustomHardwareOnboarding
                            title: DevSpace Custom Hardware Onboarding
                            description: DevSpace feature for plans unlocking custom hardware onboarding.
                          - enum:
                              - customRolesDefinition
                            title: Custom Roles Definition
                            description: RBAC custom roles definitions.
                          - enum:
                              - mfa
                            title: MFA
                            description: MFA for users secure logging.
                          - enum:
                              - companyNetworkManagement
                            title: Company Network Management
                            description: Management of a Company Network by partner companies.
                    defaultDevicePlanId:
                      type: string
                    allowedDevicePlans:
                      type: array
                      items:
                        type: object
                        required: &ref_357
                          - id
                          - title
                          - subscriptionId
                          - featureEntitlements
                        properties: &ref_358
                          id:
                            type: string
                          title:
                            type: string
                          subscriptionId:
                            type: string
                          featureEntitlements:
                            description: Additional feature entitlements enabled for the organization.
                            type: array
                            items: &ref_356
                              oneOf:
                                - enum:
                                    - scripts
                                  title: Scripts
                                  description: Scripts management and execution on devices.
                                - enum:
                                    - plugins
                                  title: Plugins
                                  description: Enables plugins management and execution on devices.
                                - enum:
                                    - runners
                                  title: Runners
                                  description: Enables runners management and execution on devices.
                                - enum:
                                    - remoteDesktop
                                  title: Remote Desktop
                                  description: Define access to Remote Desktop functionality.
                                - enum:
                                    - devicePolicy
                                  title: Device Policy
                                  description: Allows using Device policy - configuration and assignment.
                                - enum:
                                    - packagesManagement
                                  title: Packages Management
                                  description: Packages - APK management - for Android devices.
                                - enum:
                                    - firmwareUpgrades
                                  title: Firmware Upgrades
                                  description: Enables remote FW upgrades - on device, bulk actions and policy.
                                - enum:
                                    - managedLauncher
                                  title: Managed Launcher
                                  description: Android custom launcher configuration.
                                - enum:
                                    - screenshots
                                  title: Screenshots
                                  description: Access to on-demand screenshots stored within signageOS.
                                - enum:
                                    - screenshotsLiveStream
                                  title: Screenshots Live Stream
                                  description: Access to live stream of screenshots.
                                - enum:
                                    - screenshotTimemachine
                                  title: Screenshot Timemachine
                                  description: Access to historical screenshots stored within signageOS.
                                - enum:
                                    - alertsManagement
                                  title: Alerts Management
                                  description: Access to definition of Alert Rules and incoming Alerts.
                                - enum:
                                    - deviceAlertRule
                                  title: Device AlertRule
                                  description: Device alert rule type.
                                - enum:
                                    - policyAlertRule
                                  title: Policy AlertRule
                                  description: Policy alert rule type.
                                - enum:
                                    - appletAlertRule
                                  title: Applet AlertRule
                                  description: Applet alert rule type.
                                - enum:
                                    - screenshotAlertRule
                                  title: Screenshot AlertRule
                                  description: Screenshot alert rule type.
                                - enum:
                                    - bulkProvisioning
                                  title: Bulk Provisioning
                                  description: Enables bulk provisioning with device recipes.
                                - enum:
                                    - VPN
                                  title: VPN
                                  description: Provides private VPN server and configuration for given organization.
                                - enum:
                                    - extendedControl
                                  title: Extended Control
                                  description: Provides access to extra device management features unique for a given manufacturer.
                                - enum:
                                    - temperatureTelemetry
                                  title: Temperature Telemetry
                                  description: Temperature telemetry data gathering, presenting and analysis.
                                - enum:
                                    - cpuTelemetry
                                  title: CPU Telemetry
                                  description: CPU telemetry data gathering, presenting and analysis.
                                - enum:
                                    - storageTelemetry
                                  title: Storage Telemetry
                                  description: Storage telemetry data gathering, presenting and analysis.
                                - enum:
                                    - uptimeTelemetry
                                  title: Uptime Telemetry
                                  description: Uptime telemetry data gathering, presenting and analysis.
                                - enum:
                                    - ramTelemetry
                                  title: RAM Telemetry
                                  description: RAM telemetry data gathering, presenting and analysis.
                                - enum:
                                    - brightnessTelemetry
                                  title: Brightness Telemetry
                                  description: Brightness telemetry data gathering, presenting and analysis.
                                - enum:
                                    - batteryTelemetry
                                  title: Battery Telemetry
                                  description: Battery telemetry data gathering, presenting and analysis.
                                - enum:
                                    - volumeTelemetry
                                  title: Volume Telemetry
                                  description: Volume telemetry data gathering, presenting and analysis.
                                - enum:
                                    - pluginTelemetry
                                  title: Plugin Telemetry
                                  description: Plugin telemetry data gathering, presenting and analysis.
                                - enum:
                                    - runnersTelemetry
                                  title: Runners Telemetry
                                  description: Runners telemetry data gathering, presenting and analysis.
                                - enum:
                                    - customRunnerTelemetry
                                  title: Custom Runner Telemetry
                                  description: Custom runner telemetry data gathering, presenting and analysis.
                                - enum:
                                    - dateTimeTelemetry
                                  title: DateTime Telemetry
                                  description: DateTime telemetry data gathering, presenting and analysis.
                                - enum:
                                    - debugTelemetry
                                  title: Debug Telemetry
                                  description: Debug telemetry data gathering, presenting and analysis.
                                - enum:
                                    - restApi
                                  title: RESTApi
                                  description: REST API access and token creation.
                                - enum:
                                    - aiContentGuard
                                  title: AI ContentGuard
                                  description: AI ContentGuard functionality.
                                - enum:
                                    - contentGuard
                                  title: ContentGuard
                                  description: ContentGuard functionality.
                                - enum:
                                    - screenshotImageHashes
                                  title: Screenshot Image Hashes
                                  description: Defines access to screenshot image hashes functionality.
                                - enum:
                                    - favorites
                                  title: Favorites
                                  description: Favorite items list.
                                - enum:
                                    - locations
                                  title: Locations
                                  description: Creation and management of Locations and devices in locations.
                                - enum:
                                    - inLocationRecovery
                                  title: InLocation Recovery
                                  description: Feature In-location recovery that is delivered via P2P or local PC.
                                - enum:
                                    - tags
                                  title: Tags
                                  description: Tagging support for all signageOS entities.
                                - enum:
                                    - bulkActions
                                  title: Bulk Actions
                                  description: Bulk actions to perform multi-device configuration and operations.
                                - enum:
                                    - maintenanceWindows
                                  title: Maintenance Windows
                                  description: Maintenance Windows - defining time ranges when devices are off-line and are not accessible.
                                - enum:
                                    - supraOnPremise
                                  title: Supra On Premise
                                  description: Enables Supra device support for remote content rendering on the local installed Supra server.
                                - enum:
                                    - deviceManagement
                                  title: Device Management
                                  description: Restricts access to device details, device settings, and power actions, allowing devices to be used only as a repository.
                                - enum:
                                    - telemetryIntervalDevSpace
                                  title: Telemetry Interval DevSpace
                                  description: Telemetry interval tier for DevSpace environment. Minimum telemetry check interval is 24 hours.
                                - enum:
                                    - telemetryIntervalBasic
                                  title: Telemetry Interval Basic
                                  description: Telemetry interval tier for Basic plan. Minimum telemetry check interval is 6 hours.
                                - enum:
                                    - telemetryIntervalPro
                                  title: Telemetry Interval Pro
                                  description: Telemetry interval tier for Pro plan. Minimum telemetry check interval is 3 hours.
                                - enum:
                                    - telemetryIntervalUltra
                                  title: Telemetry Interval Ultra
                                  description: Telemetry interval tier for Ultra plan. Minimum telemetry check interval is 5 minutes.
                          creditCost:
                            type: number
                    supportAccessPermission:
                      type: object
                      required:
                        - level
                        - allowedBy
                        - allowedAt
                      properties:
                        level:
                          type: string
                          enum: &ref_173
                            - disabled
                            - loginOnly
                            - loginAndTesting
                            - loginTestingAndCapture
                          description: The level of support access granted for the company.
                        allowedBy:
                          type: object
                          properties: &ref_157
                            account:
                              type: object
                              properties:
                                accountId:
                                  type: integer
                                email:
                                  type: string
                                  format: email
                                name:
                                  type: string
                              required:
                                - accountId
                              example:
                                accountId: 1
                                email: john.doe@example.com
                                name: John Doe
                            organization:
                              type: object
                              properties:
                                uid:
                                  type: string
                                title:
                                  type: string
                              required:
                                - uid
                              example:
                                uid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                                title: Example Organization
                        allowedAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                    iconUrl:
                      type: string
                  required: &ref_154
                    - uid
                    - name
                    - title
                    - createdAt
                    - devices
                    - users
                    - organizations
                    - trialStatus
                  example: &ref_155
                    uid: 6dc408e8f8059b60465b9d4363feeffe14fd
                    name: signageos-bd551bc989
                    title: signageOS
                    createdAt: '2025-02-20T16:22:24.605Z'
                    devices: 10
                    users: 10
                    organizations: 10
                    trialStatus: trial
                    credits: 100
                    projectedCreditsUsage: 10
                    monthsLeftCredits: 10
                    totalUsedCredits: 10
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Company
      summary: Create Company
      description: Create Company, new Underling Organization and new User Account assigned to the company as an owner and to the Organization as a manager. Company is assigned to the Company network
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                companyTitle:
                  type: string
                companyNetworkUid:
                  type: string
                userEmail:
                  type: string
                userFirstName:
                  type: string
                userLastName:
                  type: string
              required:
                - companyTitle
                - userEmail
                - userFirstName
                - userLastName
                - companyNetworkUid
              example:
                companyTitle: JohnDoeCompany
                userEmail: JohnDoe@John.co
                userFirstName: John
                userLastName: Doe
                companyNetworkUid: 347eacf8a8a461e9c60d639496a8959cb9b73ad5ba4f973d81
      security:
        - XAuthAccount: []
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/count:
    get:
      tags:
        - Company
      summary: Count Companies
      description: Count Companies
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}:
    get:
      tags:
        - Company
      summary: Get Company
      description: Get Company by `uid`.
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema: &ref_156
            type: string
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_153
                required: *ref_154
                example: *ref_155
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}/credit-transaction:
    get:
      tags:
        - Company/Credit Transaction
      summary: Get company credit transactions
      description: Get all company credit transactions for a company
      security:
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_158
                    uid:
                      type: string
                    companyUid:
                      type: string
                    transactionType:
                      type: string
                      enum:
                        - redeem
                        - charge
                        - setBalance
                    amount:
                      type: number
                    note:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedAt:
                      type: string
                      format: date-time
                    updatedBy:
                      type: object
                      properties: *ref_157
                  required: &ref_159
                    - uid
                    - companyUid
                    - transactionType
                    - amount
                    - createdAt
                    - updatedAt
              example:
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  companyUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                  transactionType: charge
                  amount: 100
                  note: transaction 2
                  createdAt: '2021-12-08T14:29:50.372Z'
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                - uid: 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
                  companyUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                  transactionType: redeem
                  amount: 200
                  note: transaction 1
                  createdAt: '2021-12-08T14:29:50.372Z'
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}/credit-transaction/count:
    get:
      tags:
        - Company/Credit Transaction
      summary: Count company credit transactions
      description: Count company credit transactions
      security:
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
      responses:
        '200':
          description: OK
          content: *ref_152
  /v1/company/{companyUid}/credit-transaction/{creditTransactionUid}:
    get:
      tags:
        - Company/Credit Transaction
      summary: Get company credit transaction
      description: Gets company credit transaction by `creditTransactionUid`.
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
        - name: creditTransactionUid
          in: path
          schema:
            type: string
            description: Unique credit transaction identification
          required: true
          example: '{{creditTransactionUid}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_158
                required: *ref_159
              example:
                uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                companyUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                transactionType: charge
                amount: 100
                note: test
                createdAt: '2021-12-08T14:29:50.372Z'
                updatedAt: '2021-12-08T14:29:50.372Z'
                createdBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
                updatedBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}/member:
    post:
      tags:
        - Company/Member
      summary: Add company member
      description: Adds a new company member for the provided company. If the email does not exist, invitation email is sent.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - role
                - email
              properties:
                role:
                  type: string
                  enum: &ref_161
                    - owner
                    - manager
                    - user
                    - guest
                    - viewer
                email:
                  type: string
              example:
                role: user
                email: john.doe@signageos.io
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Company/Member
      summary: Get company members
      description: Gets all company members for given company
      security:
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: lastId
          in: query
          schema: &ref_354
            type: string
          example: df195h3d8pdh55hgp94fgdc644o3f5og799d9pec8292h2cc7a
        - name: deleted
          in: query
          schema: &ref_162
            type: boolean
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
        - name: search
          in: query
          schema: &ref_163
            type: string
          description: Search by uid, email, first name or last name of the member
          example: John
        - name: roles
          in: query
          schema: &ref_164
            type: array
            items:
              type: string
              enum: *ref_161
          description: Filter members by role(s). Supports multiple values.
        - name: organizationUids
          in: query
          schema: &ref_165
            type: array
            items:
              type: string
          description: Filter members by Organization UIDs. Pass specific UIDs to filter by membership, or `none` to return only members without any organization under the company.
        - name: noOrganization
          in: query
          schema:
            type: boolean
          description: When `true`, return only members who are not assigned to any organization within the company.
        - name: emailDomains
          in: query
          schema: &ref_166
            type: array
            items:
              type: string
          description: Filter members by email domain(s). By default includes only matching domains.
          example: &ref_167
            - signageos.io
        - name: excludeEmailDomains
          in: query
          schema: &ref_168
            type: array
            items:
              type: string
          description: Filter members by email domain(s). Excludes members with matching email domains. Cannot be used together with `emailDomains` parameter.
          example: &ref_169
            - signageos.io
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
              - firstname
              - username
              - email
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_171
                    id:
                      type: number
                      description: Deprecated - use `uid` instead. Will be removed in future versions.
                      deprecated: true
                    uid:
                      type: string
                    username:
                      type: string
                    email:
                      type: string
                    firstname:
                      type: string
                    lastname:
                      type: string
                    role:
                      type: string
                      enum: *ref_161
                    isActive:
                      type: boolean
                    companyLicenses:
                      type: array
                      items:
                        type: string
                        enum:
                          - dev_space
                      description: Licenses assigned to the member for the company
                    organizationPrivileges:
                      type: array
                      items:
                        type: object
                        description: Represents an organization privilege assigned to a company member.
                        properties:
                          entity:
                            type: string
                            description: The type of entity the privilege targets.
                            enum:
                              - organization
                          entityUid:
                            type: string
                            description: The unique identifier of the entity the privilege is assigned to.
                          role:
                            type: string
                            description: The role defining the level of access for the entity.
                            enum:
                              - manager
                              - user
                          assignedAt:
                            type: string
                            format: date-time
                            example: '2021-01-30T08:30:00Z'
                    lastLogin:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    assignedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required: &ref_172
                    - id
                    - uid
                    - username
                    - email
                    - role
                    - isActive
                    - organizationPrivileges
                    - createdAt
                    - updatedAt
                    - assignedAt
              example:
                - id: 1252866600347193
                  uid: 6c98976c85ab4e93a60552f490746468
                  username: john.doe_fea0bcc5
                  email: john.doe@signageos.io
                  firstname: John
                  lastname: Doe
                  role: guest
                  isActive: true
                  organizationPrivileges:
                    - entity: organization
                      entityUid: a1b2c3d4e5f67890abcd1234567890
                      role: user
                      assignedAt: '2022-10-07T14:09:39.444Z'
                  companyLicenses:
                    - dev_space
                  lastLogin: '2023-01-10T08:21:39.444Z'
                  createdAt: '2022-10-07T14:09:39.444Z'
                  updatedAt: '2022-10-07T14:09:39.444Z'
                  assignedAt: '2022-10-07T14:09:39.444Z'
                - id: 1252866600347193
                  uid: 87a2dc0ddxf89sd89sdsddfas565335
                  username: peter.smith_39687dec
                  email: peter.smith@signageos.io
                  firstname: Peter
                  lastname: Smith
                  role: owner
                  isActive: true
                  organizationPrivileges:
                    - entity: organization
                      entityUid: a1b2c3d4e5f67890abcd1234567890
                      role: manager
                      assignedAt: '2021-06-15T11:37:47.690Z'
                    - entity: organization
                      entityUid: b2c3d4e5f6a78901bcdef12345678901
                      role: manager
                      assignedAt: '2021-06-15T11:37:47.690Z'
                    - entity: organization
                      entityUid: c3d4e5f6a7b89012cdef123456789012
                      role: user
                      assignedAt: '2021-06-15T11:37:47.690Z'
                  companyLicenses: []
                  lastLogin: '2023-01-10T08:21:39.444Z'
                  createdAt: '2021-06-15T11:37:47.690Z'
                  updatedAt: '2021-06-15T11:37:47.690Z'
                  assignedAt: '2021-06-15T11:37:47.690Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}/member/count:
    get:
      tags:
        - Company/Member
      summary: Count company members
      description: Count company members
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
        - name: deleted
          in: query
          schema: *ref_162
        - name: search
          in: query
          schema: *ref_163
          description: Search by uid, email, first name or last name of the member
          example: John
        - name: roles
          in: query
          schema: *ref_164
          description: Filter members by role(s). Supports multiple values.
        - name: organizationUids
          in: query
          schema: *ref_165
          description: Filter members by Organization UIDs. Pass specific UIDs to filter by membership, or `none` to return only members without any organization under the company.
        - name: emailDomains
          in: query
          schema: *ref_166
          description: Filter members by email domain(s). By default includes only matching domains.
          example: *ref_167
        - name: excludeEmailDomains
          in: query
          schema: *ref_168
          description: Filter members by email domain(s). Excludes members with matching email domains. Cannot be used together with `emailDomains` parameter.
          example: *ref_169
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}/member/{memberUid}:
    put:
      tags:
        - Company/Member
      summary: Edit company member
      description: Edits company member role for the provided company.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - role
              properties:
                role:
                  type: string
                  enum: *ref_161
              example:
                role: user
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
        - name: memberUid
          in: path
          schema: &ref_170
            type: string
          description: Unique identifier of the member. Note that numeric IDs are deprecated and will be removed in a future version — use UIDs instead.
          required: true
          example: d04ec9e2275fe9d68ebaff72f1d361eb0d1f
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Company/Member
      summary: Get company member
      description: Get a company member by member UID for given company
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
        - name: memberUid
          in: path
          schema: *ref_170
          description: Unique identifier of the member. Note that numeric IDs are deprecated and will be removed in a future version — use UIDs instead.
          required: true
          example: d04ec9e2275fe9d68ebaff72f1d361eb0d1f
        - name: deleted
          in: query
          schema: *ref_162
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_171
                required: *ref_172
              example:
                id: 1252866600347193
                uid: 6c98976c-85ab-4e93-a605-52f490746468
                username: john.doe_fea0bcc5
                email: john.doe@signageos.io
                firstname: John
                lastname: Doe
                role: guest
                isActive: true
                organizationPrivileges:
                  - entity: organization
                    entityUid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                    role: user
                    assignedAt: '2022-10-07T14:09:39.444Z'
                companyLicenses:
                  - dev_space
                lastLogin: '2023-01-10T08:21:39.444Z'
                createdAt: '2022-10-07T14:09:39.444Z'
                updatedAt: '2022-10-07T14:09:39.444Z'
                assignedAt: '2022-10-07T14:09:39.444Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Company/Member
      summary: Delete company member
      description: Deletes a company member by member UID for given company
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
        - name: memberUid
          in: path
          schema: *ref_170
          description: Unique identifier of the member. Note that numeric IDs are deprecated and will be removed in a future version — use UIDs instead.
          required: true
          example: d04ec9e2275fe9d68ebaff72f1d361eb0d1f
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}/public-key:
    get:
      tags:
        - Company/Public Key
      summary: Get company's public key
      description: |
        Returns the company's public key, which can be used for asymmetric encryption of sensitive data for processing within the signageOS system.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `companyUid` | string | required | Company identification |
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema:
            type: string
          description: Company uid
          required: true
          example: '{{companyUid}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  publicKey:
                    type: string
                required:
                  - publicKey
              example:
                publicKey: '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA-----END PUBLIC KEY-----\n'
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/company/{companyUid}/support-access-permission:
    put:
      tags:
        - Company
      summary: Set Company Support Access Permission
      description: Set the support access permission for a company. The `level` field is required.
      security:
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: path
          schema: *ref_156
          required: true
          example: a9ea3119f403430757fe1e559a14da438687
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - level
              properties:
                level:
                  type: string
                  enum: *ref_173
                  description: The level of support access granted for the company.
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/ai-helper/analyze-prompt:
    post:
      tags:
        - ContentGuard/AIHelper (Coming Soon)
      summary: Analyze Content Guard Prompt
      description: Analyze a user-provided Content Guard prompt for quality and optimality. Returns whether the prompt is optimal for visual content detection, and if not, provides an optimized version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                prompt:
                  type: string
                  description: The user-provided prompt to analyze
                  minLength: 1
                  pattern: \S
              required:
                - prompt
              example:
                prompt: I want the screenshot to display a red holiday menu with coffee beverages.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  optimizedPrompt:
                    type: string
                    description: An optimized version of the prompt
                required:
                  - optimizedPrompt
                example:
                  optimizedPrompt: red holiday menu with coffee beverages
        '400':
          description: Bad request
          content: *ref_2
  /v1/content-guard/ai-helper/finalize:
    post:
      tags:
        - ContentGuard/AIHelper (Coming Soon)
      summary: Finalize Content Guard Item Generation
      description: Finalizes the content guard item generation by confirming the temporary image upload, prompt, and description.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                description:
                  type: string
                categoryUid:
                  type: string
                tagUids:
                  type: array
                  items:
                    type: string
                prompt:
                  type: string
                imageName:
                  type: string
                  description: The generated unique image name returned from the temporary image upload step
              required:
                - title
                - description
                - prompt
                - categoryUid
                - tagUids
                - imageName
              example:
                title: foo
                description: test
                categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                tagUids:
                  - a59ccbd527364d9b9e56c2e56ef1708d
                  - 9633281b04e74335aa79366199921ad3
                prompt: A cat sitting on a chair, detailed, high resolution, vibrant colors.
                imageName: abc123xyz
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                    description: The unique identifier of the created content guard item
                required:
                  - uid
              example:
                uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/ai-helper/generate-description:
    post:
      tags:
        - ContentGuard/AIHelper (Coming Soon)
      summary: Generate Description for Content Guard Item
      description: 'Generate description for content guard item by `contentGuardItemUid`. Prerequisites: Image upload must be finished.'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                imageName:
                  type: string
                  description: The image name returned from the start upload endpoint
              required:
                - imageName
              example:
                imageName: abc123xyz
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  description:
                    type: string
                required:
                  - description
                example:
                  description: A photo of a cat sitting on a chair.
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/ai-helper/generate-prompt:
    post:
      tags:
        - ContentGuard/AIHelper (Coming Soon)
      summary: Generate Prompt for Content Guard Item
      description: 'Generate prompt for content guard item by `contentGuardItemUid`. Prerequisites: Description must be generated beforehand.'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - positive
                    - negative
                description:
                  type: string
                  description: The description generated for the content guard item
              required:
                - type
                - description
              example:
                type: positive
                description: A photo of a cat sitting on a chair.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  prompt:
                    type: string
                required:
                  - prompt
                example:
                  prompt: A cat sitting on a chair, detailed, high resolution, vibrant colors.
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/ai-helper/image:
    post:
      tags:
        - ContentGuard/AIHelper (Coming Soon)
      summary: Upload Temporary Image for Content Guard Item. That will be used to generate description.
      description: Generates a presigned URL for uploading an image to the content guard item. Returns a presigned URL that the client can use to upload the image directly to S3.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: Content-Type (MIME type) of the image. Only JPEG and PNG are allowed.
                  enum:
                    - image/jpeg
                    - image/png
                md5Checksum:
                  type: string
                  description: MD5 checksum of the image
              required:
                - md5Checksum
                - type
              example:
                md5Checksum: 045e372a1eeafee2ce5580443c18a91d
                type: image/png
      responses:
        '200':
          description: OK - Returns presigned upload URL and image name
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload:
                    type: object
                    properties:
                      request:
                        type: object
                        properties:
                          url:
                            type: string
                          fields:
                            type: object
                  file:
                    type: object
                    properties:
                      url:
                        type: string
                  imageName:
                    type: string
                    description: The generated unique image name to use when finishing the upload
                example:
                  upload:
                    request:
                      url: https://s3.eu-central-1.amazonaws.com/signageos-public
                      fields:
                        Key: content-guard-item/5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab/abc123xyz.png
                        Content-Type: image/png
                        Content-MD5: xxx
                        x-amz-meta-content_md5: xxx
                        bucket: signageos-public
                        X-Amz-Algorithm: AWS4-HMAC-SHA256
                  file:
                    url: https://signageos-public.s3.eu-central-1.amazonaws.com/content-guard-item/5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab/abc123xyz.png
                  imageName: abc123xyz
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/category:
    get:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Get Content Guard Categories
      description: Get list of Content Guard Categories
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: valid
          in: query
          schema:
            type: boolean
          description: Filter by valid
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_174
                    uid:
                      type: string
                    title:
                      type: string
                    organizationUid:
                      type: string
                    valid:
                      type: boolean
                    createdAt:
                      type: string
                      format: date-time
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedAt:
                      type: string
                      format: date-time
                    updatedBy:
                      type: object
                      properties: *ref_157
                  required: &ref_175
                    - uid
                    - title
                    - organizationUid
                    - valid
                    - createdAt
                    - createdBy
                    - updatedAt
                    - updatedBy
                  example: &ref_176
                    uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    title: test
                    organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                    valid: true
                    createdAt: '2021-12-08T14:29:50.372Z'
                    createdBy:
                      account:
                        accountId: 1
                        email: john.doe@example.com
                        name: John Doe
                    updatedAt: '2021-12-08T14:29:50.372Z'
                    updatedBy:
                      account:
                        accountId: 1
                        email: john.doe@example.com
                        name: John Doe
              example:
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  title: foo
                  organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                  valid: true
                  createdAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  title: bar
                  organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                  valid: false
                  createdAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Create Content Guard Category
      description: Create new content guard category in organization by `contentGuardCategoryUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organizationUid:
                  type: string
                  description: Required if authenticating as an Account
                title:
                  type: string
                valid:
                  type: boolean
              required:
                - title
                - valid
              example:
                title: foo
                valid: true
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/category/count:
    get:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Count Content Guard Categories
      description: Count Content Guard Categories
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: valid
          in: query
          schema:
            type: boolean
          description: Filter by valid
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/category/{contentGuardCategoryUid}:
    get:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Get Content Guard Category
      description: Get Content Guard Category.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardCategoryUid
          in: path
          required: true
          schema: &ref_177
            type: string
          description: Unique Content Guard Category Identification
          example: '{{contentGuardCategoryUid}}'
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_174
                required: *ref_175
                example: *ref_176
              example:
                uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                title: foo
                organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                valid: true
                createdAt: '2021-12-08T14:29:50.372Z'
                updatedAt: '2021-12-08T14:29:50.372Z'
                createdBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
                updatedBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Update Content Guard Category
      description: Update existing content guard category in organization by `contentGuardCategoryUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                valid:
                  type: boolean
              example:
                title: foo
                valid: true
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - required: true
          name: contentGuardCategoryUid
          in: path
          schema: *ref_177
          description: Unique Content Guard Category Identification
          example: '{{contentGuardCategoryUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Delete Content Guard Category
      description: Delete Content Guard Category.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardCategoryUid
          in: path
          required: true
          schema: *ref_177
          description: Unique Content Guard Category Identification
          example: '{{contentGuardCategoryUid}}'
        - name: deleteItems
          in: query
          schema:
            type: boolean
          description: |
            Should delete content guard items within the category. If not provided, then the category will be deleted only if it has no items.
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/item:
    get:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Get Content Guard Items
      description: Get list of Content Guard Items
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: tagUids
          in: query
          schema: &ref_179
            type: array
            items:
              type: string
          example: &ref_180
            - a59ccbd527364d9b9e56c2e56ef1708d
            - 9633281b04e74335aa79366199921ad3
          description: Filter by Tag UIDs
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: description
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `description`. Returns records where the `description` contains the specified text.
        - name: categoryUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by Content Guard Category UIDs
          example:
            - 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
            - 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aac
        - name: itemType
          in: query
          schema:
            type: string
            enum: &ref_178
              - IMAGE
              - PROMPT
          description: Filter by Content Guard Item Type
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_181
                    uid:
                      type: string
                    itemType:
                      type: string
                      enum: *ref_178
                    title:
                      type: string
                    description:
                      type: string
                    categoryUid:
                      type: string
                    tagUids:
                      type: array
                      items:
                        type: string
                    imageName:
                      type: string
                    imageUploadFinished:
                      type: boolean
                    prompt:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedAt:
                      type: string
                      format: date-time
                    updatedBy:
                      type: object
                      properties: *ref_157
                  required: &ref_182
                    - uid
                    - itemType
                    - title
                    - description
                    - categoryUid
                    - tagUids
                    - createdAt
                    - createdBy
                    - updatedAt
                    - updatedBy
                  example: &ref_183
                    uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    itemType: IMAGE
                    title: foo
                    description: test
                    categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    tagUids:
                      - a59ccbd527364d9b9e56c2e56ef1708d
                      - 9633281b04e74335aa79366199921ad3
                    createdAt: '2021-12-08T14:29:50.372Z'
                    createdBy:
                      account:
                        accountId: 1
                        email: john.doe@example.com
                        name: John Doe
                    updatedAt: '2021-12-08T14:29:50.372Z'
                    updatedBy:
                      account:
                        accountId: 1
                        email: john.doe@example.com
                        name: John Doe
              example:
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  itemType: IMAGE
                  title: foo
                  description: test
                  categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  tagUids:
                    - a59ccbd527364d9b9e56c2e56ef1708d
                    - 9633281b04e74335aa79366199921ad3
                  createdAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  itemType: PROMPT
                  title: bar
                  description: test
                  prompt: llm prompt
                  categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  tagUids:
                    - a59ccbd527364d9b9e56c2e56ef1708d
                    - 9633281b04e74335aa79366199921ad3
                  createdAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Create Content Guard Item
      description: Create new content guard item in category by `contentGuardItemUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                itemType:
                  type: string
                  enum: *ref_178
                title:
                  type: string
                description:
                  type: string
                categoryUid:
                  type: string
                tagUids:
                  type: array
                  items:
                    type: string
                prompt:
                  type: string
              required:
                - itemType
                - title
                - description
                - categoryUid
                - tagUids
              example:
                itemType: IMAGE
                title: foo
                description: test
                categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                tagUids:
                  - a59ccbd527364d9b9e56c2e56ef1708d
                  - 9633281b04e74335aa79366199921ad3
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                    description: The unique identifier of the created content guard item
                required:
                  - uid
              example:
                uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/item/bulk:
    put:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Bulk Update Content Guard Item Category
      description: Update the category of multiple content guard items at once. All specified items will be moved to the new category.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                uids:
                  type: array
                  items:
                    type: string
                  description: Array of content guard item UIDs to update
                categoryUid:
                  type: string
                  description: The new category UID to assign to all items
              required:
                - uids
                - categoryUid
              example:
                uids:
                  - 8689f3bd110a46e06c2cceb04f3f14a56267
                  - 2a4ccac62f03848408e6ded17ed799a2004a
                categoryUid: 8ef8d94e2e922d4c1a0cc38add099be8a2b1
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Bulk Delete Content Guard Items
      description: Delete multiple content guard items at once by providing their UIDs.
      parameters:
        - name: uids
          in: query
          required: true
          schema:
            type: array
            items:
              type: string
          description: Array of content guard item UIDs to delete
          example:
            - 8689f3bd110a46e06c2cceb04f3f14a56267
            - 2a4ccac62f03848408e6ded17ed799a2004a
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/item/count:
    get:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Count Content Guard Items
      description: Count Content Guard Items
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: tagUids
          in: query
          schema: *ref_179
          example: *ref_180
          description: Filter by Tag UIDs
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: description
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `description`. Returns records where the `description` contains the specified text.
        - name: categoryUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by Content Guard Category UIDs
          example:
            - 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
            - 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aac
        - name: itemType
          in: query
          schema:
            type: string
            enum: *ref_178
          description: Filter by Content Guard Item Type
          example: IMAGE
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/item/{contentGuardItemUid}:
    get:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Get Content Guard Item
      description: Get Content Guard Item.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardItemUid
          in: path
          required: true
          schema: &ref_184
            type: string
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_181
                required: *ref_182
                example: *ref_183
              example:
                uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                itemType: IMAGE
                title: foo
                description: test
                categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                tagUids:
                  - a59ccbd527364d9b9e56c2e56ef1708d
                  - 9633281b04e74335aa79366199921ad3
                createdAt: '2021-12-08T14:29:50.372Z'
                updatedAt: '2021-12-08T14:29:50.372Z'
                createdBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
                updatedBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Update Content Guard Item
      description: Update existing content guard item in category by `contentGuardItemUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                description:
                  type: string
                categoryUid:
                  type: string
                tagUids:
                  type: array
                  items:
                    type: string
                prompt:
                  type: string
              example:
                title: foo
                description: test
                categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                tagUids:
                  - a59ccbd527364d9b9e56c2e56ef1708d
                  - 9633281b04e74335aa79366199921ad3
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - required: true
          name: contentGuardItemUid
          in: path
          schema: *ref_184
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Delete Content Guard Item
      description: Delete Content Guard Item.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardItemUid
          in: path
          required: true
          schema: *ref_184
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/item/{contentGuardItemUid}/image-upload:
    post:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Start Content Guard Item Image Upload
      description: Generates a presigned URL for uploading an image to the content guard item. Returns a presigned URL that the client can use to upload the image directly to S3.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardItemUid
          in: path
          required: true
          schema: *ref_184
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: Content-Type (MIME type) of the image. Only JPEG and PNG are allowed.
                  enum:
                    - image/jpeg
                    - image/png
                md5Checksum:
                  type: string
                  description: MD5 checksum of the image
              required:
                - md5Checksum
                - type
              example:
                md5Checksum: 045e372a1eeafee2ce5580443c18a91d
                type: image/png
      responses:
        '200':
          description: OK - Returns presigned upload URL and image name
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload:
                    type: object
                    properties:
                      request:
                        type: object
                        properties:
                          url:
                            type: string
                          fields:
                            type: object
                  file:
                    type: object
                    properties:
                      url:
                        type: string
                  imageName:
                    type: string
                    description: The generated unique image name to use when finishing the upload
                example:
                  upload:
                    request:
                      url: https://s3.eu-central-1.amazonaws.com/signageos-public
                      fields:
                        Key: content-guard-item/5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab/abc123xyz.png
                        Content-Type: image/png
                        Content-MD5: xxx
                        x-amz-meta-content_md5: xxx
                        bucket: signageos-public
                        X-Amz-Algorithm: AWS4-HMAC-SHA256
                  file:
                    url: https://signageos-public.s3.eu-central-1.amazonaws.com/content-guard-item/5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab/abc123xyz.png
                  imageName: abc123xyz
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/item/{contentGuardItemUid}/image-upload/finish:
    post:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Finish Content Guard Item Image Upload
      description: Notifies the server that the image upload is complete. The server will download the image from S3, calculate its ahash, and update the content guard item.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardItemUid
          in: path
          required: true
          schema: *ref_184
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                imageName:
                  type: string
                  description: The image name returned from the start upload endpoint
              required:
                - imageName
              example:
                imageName: abc123xyz
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/item/{contentGuardItemUid}/tag/{tagUid}:
    put:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Assign organization tag to the content guard item.
      description: Enables to assign organization tag to the content guard item that belongs to this organization.
      security:
        - XAuthOrganization: []
      parameters:
        - name: contentGuardItemUid
          in: path
          required: true
          schema: *ref_184
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
        - name: tagUid
          in: path
          schema: &ref_185
            type: string
          description: Organization tag uid
          required: true
          example: '{{tagUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Unassign organization tag which is assigned to the content guard item.
      description: Enables to unassign organization tag on the content guard item.
      security:
        - XAuthOrganization: []
      parameters:
        - name: contentGuardItemUid
          in: path
          required: true
          schema: *ref_184
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
        - name: tagUid
          in: path
          schema: *ref_185
          description: Organization tag uid
          required: true
          example: '{{tagUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/managed/category:
    get:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Get Managed Content Guard Categories
      description: Get list of managed (read-only) Content Guard Categories.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: valid
          in: query
          schema:
            type: boolean
          description: Filter by valid
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_186
                    uid:
                      type: string
                    title:
                      type: string
                    valid:
                      type: boolean
                    createdAt:
                      type: string
                      format: date-time
                    updatedAt:
                      type: string
                      format: date-time
                  required: &ref_187
                    - uid
                    - title
                    - valid
                    - createdAt
                    - updatedAt
                  example: &ref_188
                    uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    title: test
                    valid: true
                    createdAt: '2021-12-08T14:29:50.372Z'
                    updatedAt: '2021-12-08T14:29:50.372Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/managed/category/{contentGuardCategoryUid}:
    get:
      tags:
        - ContentGuard/Category (Coming Soon)
      summary: Get Managed Content Guard Category
      description: Get managed (read-only) Content Guard Category.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardCategoryUid
          in: path
          required: true
          schema: *ref_177
          description: Unique Content Guard Category Identification
          example: '{{contentGuardCategoryUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_186
                required: *ref_187
                example: *ref_188
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/managed/item:
    get:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Get Managed Content Guard Items
      description: Get list of managed (read-only) Content Guard Items.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: description
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `description`. Returns records where the `description` contains the specified text.
        - name: categoryUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by Content Guard Category UIDs
          example:
            - 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
            - 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aac
        - name: itemType
          in: query
          schema:
            type: string
            enum: *ref_178
          description: Filter by Content Guard Item Type
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    itemType:
                      type: string
                      enum: *ref_178
                    title:
                      type: string
                    description:
                      type: string
                    categoryUid:
                      type: string
                    imageName:
                      type: string
                    imageUploadFinished:
                      type: boolean
                    prompt:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    updatedAt:
                      type: string
                      format: date-time
                  required:
                    - uid
                    - itemType
                    - title
                    - description
                    - categoryUid
                    - createdAt
                    - updatedAt
                  example:
                    uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    itemType: IMAGE
                    title: foo
                    description: test
                    categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    createdAt: '2021-12-08T14:29:50.372Z'
                    updatedAt: '2021-12-08T14:29:50.372Z'
              example:
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  itemType: IMAGE
                  title: foo
                  description: test
                  categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  createdAt: '2021-12-08T14:29:50.372Z'
                  updatedAt: '2021-12-08T14:29:50.372Z'
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aac
                  itemType: PROMPT
                  title: bar
                  prompt: test prompt
                  description: test2
                  categoryUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aac
                  createdAt: '2021-12-08T14:29:50.372Z'
                  updatedAt: '2021-12-08T14:29:50.372Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/content-guard/managed/item/{contentGuardItemUid}:
    get:
      tags:
        - ContentGuard/Item (Coming Soon)
      summary: Get Managed Content Guard Item
      description: Get managed (read-only) Content Guard Item.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: contentGuardItemUid
          in: path
          required: true
          schema: *ref_184
          description: Unique Content Guard Item Identification
          example: '{{contentGuardItemUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_181
                required: *ref_182
                example: *ref_183
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script:
    get:
      tags:
        - CustomScript
      summary: Get Custom Scripts
      description: Get list of Custom Scripts
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: name
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `name`. Returns records where the `name` contains the specified text.
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: dangerLevel
          in: query
          schema:
            type: string
            enum: &ref_189
              - low
              - medium
              - high
              - critical
          description: Filter by danger level
        - name: platforms
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: Filter by platforms
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by tags
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
              - tagUids
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_190
                    uid:
                      type: string
                    name:
                      type: string
                    title:
                      type: string
                    description:
                      type: string
                    dangerLevel:
                      type: string
                    organizationUid:
                      type: string
                    supportedPlatforms:
                      type: array
                      items:
                        type: string
                        enum: *ref_27
                        description: |
                          Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                    latestVersion:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedAt:
                      type: string
                      format: date-time
                    updatedBy:
                      type: object
                      properties: *ref_157
                    lastExecutedAt:
                      type: string
                      format: date-time
                    tagUids:
                      type: array
                      items:
                        type: string
                  required: &ref_191
                    - uid
                    - name
                    - title
                    - dangerLevel
                    - organizationUid
                    - supportedPlatforms
                    - createdAt
                    - createdBy
                    - updatedAt
                    - updatedBy
                  example: &ref_192
                    uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    name: test
                    title: test
                    description: test
                    dangerLevel: low
                    organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                    supportedPlatforms:
                      - webos
                      - tizen
                      - linux
                    latestVersion: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                    createdAt: '2021-12-08T14:29:50.372Z'
                    updatedAt: '2021-12-08T14:29:50.372Z'
                    createdBy:
                      account:
                        accountId: 1
                    updatedBy:
                      account:
                        accountId: 1
                    lastExecutedAt: '2021-12-08T14:29:50.372Z'
                    tagUids:
                      - a59ccbd527364d9b9e56c2e56ef1708d
                      - 9633281b04e74335aa79366199921ad3
              example:
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  name: test
                  title: test
                  description: test
                  dangerLevel: low
                  organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                  supportedPlatforms:
                    - android
                    - brightsign
                  latestVersion: 1.5.4
                  createdAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  lastExecutedAt: '2021-12-08T14:29:50.372Z'
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  name: test
                  title: test
                  description: test
                  dangerLevel: low
                  organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                  supportedPlatforms:
                    - webos
                    - tizen
                    - linux
                  latestVersion: 1.5.4
                  createdAt: '2021-12-08T14:29:50.372Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  updatedAt: '2021-12-08T14:29:50.372Z'
                  updatedBy:
                    account:
                      accountId: 1
                      email: john.doe@example.com
                      name: John Doe
                  lastExecutedAt: '2021-12-08T14:29:50.372Z'
                  tagUids:
                    - 9633281b04e74335aa79366199921ad3
                    - 3c9c78a38c154938939c18b5d2f48b68
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - CustomScript
      summary: Create Custom Script
      description: Create new custom script in organization by `customScriptUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organizationUid:
                  type: string
                  description: Required if authenticating as an Account
                name:
                  type: string
                title:
                  type: string
                description:
                  type: string
                dangerLevel:
                  type: string
                  enum: *ref_189
                tagUids:
                  type: array
                  items:
                    type: string
              required:
                - name
                - title
                - dangerLevel
              example:
                name: test
                title: test
                description: test
                dangerLevel: low
                tagUids:
                  - 3c9c78a38c154938939c18b5d2f48b68
                  - 26ea76910a08410fa487b05eebe11bbb
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/count:
    get:
      tags:
        - CustomScript
      summary: Count Custom Scripts
      description: Count Custom Scripts
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: name
          in: query
          schema:
            type: string
          description: Filter by name
        - name: title
          in: query
          schema:
            type: string
          description: Filter by title
        - name: dangerLevel
          in: query
          schema:
            type: string
            enum: *ref_189
          description: Filter by danger level
        - name: platforms
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: Filter by platforms
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by tags
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/{customScriptUid}:
    get:
      tags:
        - CustomScript
      summary: Get Custom Script
      description: Get Custom Script.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: &ref_193
            type: string
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_190
                required: *ref_191
                example: *ref_192
              example:
                uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                name: test
                title: test
                description: test
                dangerLevel: low
                organizationUid: 5d9bd72df4d187053cc7d2474c781cf590b10d2d7a12d7a6db
                createdAt: '2021-12-08T14:29:50.372Z'
                updatedAt: '2021-12-08T14:29:50.372Z'
                createdBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
                updatedBy:
                  account:
                    accountId: 1
                    email: john.doe@example.com
                    name: John Doe
                supportedPlatforms:
                  - webos
                  - tizen
                  - linux
                tagUids:
                  - 26ea76910a08410fa487b05eebe11bbb
                  - 6268b3ad70534c17901e3a6e11ee0de3
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - CustomScript
      summary: Update Custom Script
      description: Update existing custom script in organization by `customScriptUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                title:
                  type: string
                description:
                  type: string
                dangerLevel:
                  type: string
                  enum: *ref_189
                tagUids:
                  type: array
                  items:
                    type: string
              example:
                name: test
                title: test
                description: test
                dangerLevel: low
                tagUids:
                  - 6268b3ad70534c17901e3a6e11ee0de3
                  - 616b02881ae34f7f84d9632e3b6ee69f
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - required: true
          name: customScriptUid
          in: path
          schema: *ref_193
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - CustomScript
      summary: Delete Custom Script
      description: Delete Custom Script.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: deleteVersions
          in: query
          schema:
            type: boolean
          description: |
            Should delete all versions of the custom script. If not provided, only the custom script will be deleted or the request will fail if the custom script has versions.
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/{customScriptUid}/version:
    get:
      tags:
        - CustomScript/Version
      summary: Get Custom Script Versions
      description: Get Custom Script Versions by customScriptUid
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: platforms
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: Filter by platforms
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_198
                    uid:
                      type: string
                    customScriptUid:
                      type: string
                    version:
                      type: string
                    configDefinition:
                      type: array
                      items: &ref_196
                        oneOf:
                          - title: String
                            allOf: &ref_379
                              - type: object
                                properties: &ref_194
                                  name:
                                    type: string
                                  placeholder:
                                    type: string
                                  description:
                                    type: string
                                  mandatory:
                                    type: boolean
                                required: &ref_195
                                  - name
                              - type: object
                                properties:
                                  valueType:
                                    type: string
                                    enum:
                                      - string
                                required:
                                  - valueType
                          - title: URL
                            allOf: &ref_380
                              - type: object
                                properties: *ref_194
                                required: *ref_195
                              - type: object
                                properties:
                                  valueType:
                                    type: string
                                    enum:
                                      - url
                                required:
                                  - valueType
                          - title: Enum
                            allOf: &ref_381
                              - type: object
                                properties: *ref_194
                                required: *ref_195
                              - type: object
                                properties:
                                  valueType:
                                    type: string
                                    enum:
                                      - enum
                                  list:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: string
                                          title: string
                                        - type: number
                                          title: number
                                required:
                                  - valueType
                          - title: Number
                            allOf: &ref_382
                              - type: object
                                properties: *ref_194
                                required: *ref_195
                              - type: object
                                properties:
                                  valueType:
                                    type: string
                                    enum:
                                      - number
                                  min:
                                    type: number
                                  max:
                                    type: number
                                required:
                                  - valueType
                          - title: Secret
                            allOf: &ref_383
                              - type: object
                                properties: *ref_194
                                required: *ref_195
                              - type: object
                                properties:
                                  valueType:
                                    type: string
                                    enum:
                                      - secret
                                required:
                                  - valueType
                          - title: Unknown
                            allOf: &ref_384
                              - type: object
                                properties: *ref_194
                                required: *ref_195
                              - type: object
                                properties:
                                  valueType:
                                    type: string
                                    enum:
                                      - unknown
                                required:
                                  - valueType
                          - title: Encrypted
                            allOf: &ref_420
                              - type: object
                                properties: *ref_194
                                required: *ref_195
                              - type: object
                                properties:
                                  valueType:
                                    type: string
                                    enum:
                                      - encrypted
                                required:
                                  - valueType
                      default: &ref_197 []
                    jsApiVersion:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    updatedAt:
                      type: string
                      format: date-time
                    publishedAt:
                      type: string
                      format: date-time
                    deprecatedAt:
                      type: string
                      format: date-time
                    tagUids:
                      type: array
                      items:
                        type: string
                  required: &ref_199
                    - uid
                    - customScriptUid
                    - version
                    - createdAt
                    - updatedAt
              example:
                - uid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  customScriptUid: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                  version: 1.0.0
                  configDefinition:
                    - name: age
                      valueType: number
                      placeholder: placeholder
                      description: description
                      mandatory: false
                  jsApiVersion: 1.0.0
                  createdAt: '2021-01-01T00:00:00Z'
                  updatedAt: '2021-01-01T00:00:00Z'
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - CustomScript/Version
      summary: Create Custom Script Version
      description: Create new Custom Script Version
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                jsApiVersion:
                  type: string
                  description: Picks which version of JS API will be available in the Custom Script runtime. This only applies to "browser" runtime. If not provided, the latest version will be used.
                version:
                  type: string
                configDefinition:
                  type: array
                  items: *ref_196
                  default: *ref_197
              required:
                - version
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/{customScriptUid}/version/count:
    get:
      tags:
        - CustomScript/Version
      summary: Count Custom Script Versions
      description: Count Custom Script Versions by customScriptUid
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
      responses:
        '200':
          description: OK
          content: *ref_152
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/{customScriptUid}/version/{version}:
    get:
      tags:
        - CustomScript/Version
      summary: Get Custom Script Version
      description: Get Custom Script Version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: &ref_200
            type: string
          required: true
          description: version of the custom script
          example: 1.0.0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_198
                required: *ref_199
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - CustomScript/Version
      summary: Update Custom Script Version
      description: Update Custom Script Version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                configDefinition:
                  type: array
                  items: *ref_196
                  default: *ref_197
                jsApiVersion:
                  type: string
                  description: Picks which version of JS API will be available in the Custom Script runtime. This only applies to "browser" runtime. If not provided, the latest version will be used.
              example:
                configDefinition:
                  - name: muber
                    valueType: number
                    placeholder: placeholder
                    description: description
                    mandatory: false
                jsApiVersion: 1.0.0
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - CustomScript/Version
      summary: Delete Custom Script Version
      description: Delete Custom Script Version
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/{customScriptUid}/version/{version}/platform:
    get:
      tags:
        - CustomScript/Version/Platform
      summary: Get Custom Script Version Platforms
      description: Get Custom Script Version Platforms.
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf: &ref_202
                    - title: inline script
                      type: object
                      properties:
                        platform:
                          type: string
                        runtime:
                          type: string
                          enum: &ref_201
                            - ps1
                            - bash
                            - sh
                            - nodejs
                            - browser
                            - brs
                        script:
                          type: string
                      required:
                        - platform
                        - runtime
                        - script
                      example:
                        platform: linux
                        runtime: sh
                        script: echo 'Hello, World!'
                    - title: archive script
                      type: object
                      properties:
                        platform:
                          type: string
                        runtime:
                          type: string
                          enum: *ref_201
                        archiveUri:
                          type: string
                        md5Checksum:
                          type: string
                        mainFile:
                          type: string
                      required:
                        - platform
                        - runtime
                        - archiveUri
                        - md5Checksum
                        - mainFile
                      example:
                        platform: linux
                        runtime: sh
                        archiveUri: https://example.com
                        md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                        mainFile: run.sh
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - CustomScript/Version/Platform
      summary: Create Custom Script Version Platform
      description: Create Custom Script Version Platform.
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                platform:
                  type: string
                  enum: *ref_27
                  description: |
                    Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                runtime:
                  type: string
                  enum: *ref_201
                md5Checksum:
                  type: string
                mainFile:
                  type: string
              required:
                - platform
                - runtime
                - md5Checksum
                - mainFile
              example:
                platform: tizen
                runtime: sh
                md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                mainFile: run.sh
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/{customScriptUid}/version/{version}/platform/{platform}:
    get:
      tags:
        - CustomScript/Version/Platform
      summary: Get Custom Script Version Platform
      description: Get Custom Script Version Platform.
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
        - name: platform
          in: path
          schema: &ref_203
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          required: true
          description: platform of the custom script
          example: tizen
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf: *ref_202
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - CustomScript/Version/Platform
      summary: Update Custom Script Version Platform
      description: Update Custom Script Version Platform.
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
        - name: platform
          in: path
          schema: *ref_203
          required: true
          description: platform of the custom script
          example: tizen
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                runtime:
                  type: string
                  enum: *ref_201
                md5Checksum:
                  type: string
                mainFile:
                  type: string
              required:
                - runtime
                - md5Checksum
                - mainFile
              example:
                runtime: sh
                md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                mainFile: run.sh
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - CustomScript/Version/Platform
      summary: Delete Custom Script Version Platform
      description: Delete Custom Script Version Platform
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
        - name: platform
          in: path
          schema: *ref_203
          required: true
          description: platform of the custom script
          example: tizen
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/custom-script/{customScriptUid}/version/{version}/platform/{platform}/archive:
    post:
      tags:
        - CustomScript/Version/Platform
      summary: Get presigned URL to upload Custom Script Version Platform archive
      description: Get presigned URL to upload Custom Script Version Platform archive containing the code
      parameters:
        - name: customScriptUid
          in: path
          schema: *ref_193
          required: true
          description: Unique Custom Script Identification
          example: '{{customScriptUid}}'
        - name: version
          in: path
          schema: *ref_200
          required: true
          description: version of the custom script
          example: 1.0.0
        - name: platform
          in: path
          schema: *ref_203
          required: true
          description: platform of the custom script
          example: tizen
      security:
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                md5Checksum:
                  type: string
              required:
                - md5Checksum
              example:
                md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_204
                required: *ref_205
                example: *ref_206
        '404':
          description: Not Found
          content: *ref_4
  /v1/device:
    get:
      deprecated: true
      tags:
        - Device
      summary: Get Devices v1
      description: |-
        **This endoint is deprecated and will be removed in the future. Use `Get Devices v2` instead.**
        Get all devices for current Organization.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters: &ref_208
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: omitNulls
          in: query
          schema:
            type: boolean
            default: false
          description: By passing this option, all null values will be omitted (no nulls will be returned). This is the intended behaviour and it is recommended to enable it.
        - name: pagination
          deprecated: true
          in: query
          schema:
            type: integer
          description: |-
            **This parameter is deprecated and will be removed in the future. Use `limit` instead.**
            Start paginating result by given number items on page. Next page link is available on in response under header `Link`. E.g.: `<https://api.signageos/v1/device?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"`
          example: 50
        - name: applicationType
          in: query
          schema:
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: filter by application type
          example: webos
        - name: search
          in: query
          schema:
            type: string
            minLength: 1
            maxLength: 256
          description: |-
            searches following

             * uid
             * duid
             * name 
             * serial number
             * mac address
             * verification hash
          example: Marge
        - name: model
          in: query
          schema:
            type: string
          description: filter by device model matching
          example: LGE-55SM5C-BF-1
        - name: createdSince
          in: query
          schema:
            type: string
          description: filter by device createdAt greater than or equal (inclusive) date time in ISO-8601 format.
          example: '2017-08-02T13:45:39.000Z'
        - name: createdUntil
          in: query
          schema:
            type: string
          description: filter by device createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see `pagination` parameter).
          example: '2017-08-02T13:45:40.000Z'
        - name: deviceUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: |-
            **This parameter is deprecated and will be removed in the future. Use `uids` instead.**
            Filter by device uids.
          deprecated: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_221
                    uid:
                      type: string
                    duid:
                      type: string
                    name:
                      type: string
                      nullable: true
                    model:
                      type: string
                      nullable: true
                    serialNumber:
                      type: string
                      nullable: true
                    brand:
                      type: string
                      nullable: true
                    osVersion:
                      type: string
                      nullable: true
                    applicationType:
                      type: string
                      enum: *ref_27
                      description: |
                        Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                    applicationVersion:
                      type: string
                      nullable: true
                    organizationUid:
                      type: string
                    pinCode:
                      type: string
                      nullable: true
                    firmwareType:
                      type: string
                    firmwareVersion:
                      type: string
                      nullable: true
                    frontDisplayVersion:
                      type: string
                      nullable: true
                    locationUid:
                      type: string
                      nullable: true
                    currentTime:
                      type: object
                      nullable: true
                      properties:
                        requestTime:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        reportedTime:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        reportedTimestamp:
                          type: number
                        time:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        timezone:
                          type: string
                          example: Europe/Prague
                          nullable: true
                        updatedAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        ntpServer:
                          nullable: true
                          type: string
                      required:
                        - requestTime
                        - reportedTime
                        - reportedTimestamp
                        - time
                        - updatedAt
                    networkInterfaces:
                      type: object
                      nullable: true
                      properties:
                        wifi:
                          type: object
                          nullable: true
                          properties: &ref_207
                            macAddress:
                              type: string
                              nullable: true
                            ipAddress:
                              type: string
                              nullable: true
                            netmask:
                              type: string
                              nullable: true
                            gateway:
                              type: string
                              nullable: true
                            domainNameServers:
                              type: array
                              items:
                                type: string
                              nullable: true
                            interfaceName:
                              type: string
                              nullable: true
                            ssid:
                              type: string
                            signalStrength:
                              type: number
                        ethernet:
                          type: object
                          nullable: true
                          properties: *ref_207
                    storageStatus:
                      type: object
                      nullable: true
                      properties:
                        internal:
                          type: object
                          properties:
                            capacity:
                              type: number
                            freeSpace:
                              type: number
                          required:
                            - capacity
                            - freeSpace
                        removable:
                          type: object
                          properties:
                            capacity:
                              type: number
                            freeSpace:
                              type: number
                          required:
                            - capacity
                            - freeSpace
                        updatedAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                      required:
                        - internal
                        - removable
                        - updatedAt
                    connections:
                      type: array
                      items:
                        type: object
                        properties:
                          connectionUid:
                            type: string
                          serverInstanceUid:
                            type: string
                          addedAt:
                            type: string
                            format: date-time
                            example: '2021-01-30T08:30:00Z'
                        required:
                          - connectionUid
                          - serverInstanceUid
                          - addedAt
                    batteryStatus:
                      type: object
                      nullable: true
                      properties:
                        percentage:
                          type: number
                        chargeType:
                          type: string
                        isCharging:
                          type: boolean
                        lastChargingTime:
                          type: string
                          nullable: true
                          example: '2021-01-30T08:30:00Z'
                        updatedAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                      required:
                        - percentage
                        - chargeType
                        - isCharging
                        - updatedAt
                    supportedResolutions:
                      type: array
                      items:
                        type: object
                        properties:
                          width:
                            type: number
                          height:
                            type: number
                          framerate:
                            type: number
                        required:
                          - width
                          - height
                    aliveAt:
                      type: string
                      nullable: true
                      example: '2021-01-30T08:30:00Z'
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required: &ref_222
                    - uid
                    - duid
                    - connections
                    - supportedResolutions
                    - createdAt
                    - updatedAt
              example:
                - uid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2dgdfgdfgd
                  duid: 2221b195b6350a6c71318e56e4d493a585f42b6d9c387wqqww334
                  name: Test Emulator
                  createdAt: '2021-04-18T22:26:39.405Z'
                  updatedAt: '2021-04-18T22:26:39.405Z'
                  applicationType: default
                  brand: signageOS
                  osVersion: 1.0.0
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                  connections: []
                  supportedResolutions:
                    - width: 1920
                      height: 1080
                - uid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                  duid: c3e898cbc28a4d7c7b36dffa8dfd3efb41ae275cac03f425fc
                  name: Test Device
                  createdAt: '2021-04-13T17:23:59.507Z'
                  updatedAt: '2021-04-18T22:26:39.405Z'
                  aliveAt: '2021-04-14T16:01:58.754Z'
                  pinCode: '0000'
                  applicationType: default
                  applicationVersion: 8.10.1-ep-fix-acceptance-tests.4588
                  frontDisplayVersion: 8.10.1-ep-fix-acceptance-tests.4588
                  firmwareVersion: Chrome-89.0.4389.114
                  model: Linux x86_64
                  serialNumber: 8D9CF7D0A670
                  brand: signageOS
                  osVersion: 1.0.0
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b75305fba4c
                  networkInterfaces:
                    wifi:
                      macAddress: eb:dd:dd:c7:5b:ee
                    ethernet:
                      domainNameServers:
                        - 8.8.8.8
                      gateway: 35af6b1c-57dc-4173-98ab-2eb9039d98d4.1
                      interfaceName: eth0
                      ipAddress: 35af6b1c-57dc-4173-98ab-2eb9039d98d4.local
                      macAddress: 0c:dd:1c:9f:2c:dd
                      netmask: 255.255.255.0
                  storageStatus:
                    updatedAt: '2021-04-14T15:59:42.806Z'
                    internal:
                      capacity: 10737418799
                      freeSpace: 10737418650
                    removable:
                      capacity: 0
                      freeSpace: 0
                  connections: []
                  currentTime:
                    requestTime: '2021-04-18T22:40:03.116Z'
                    reportedTime: '2021-04-14T16:59:29+02:00'
                    reportedTimestamp: 1618412369582
                    time: '2021-04-19T00:40:03+02:00'
                    timezone: Europe/Prague
                    updatedAt: '2021-04-14T14:59:29.688Z'
                  supportedResolutions:
                    - width: 1920
                      height: 1080
                      framerate: 60
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/alive:
    get:
      tags:
        - Device/Alive
      summary: Get Devices Last Alive
      description: |-
        Get list of datetimes, when the devices were last active, for all or list of selected devices in the current organization.
        This endpoint uses pagination. For more information view Pagination section.
      parameters:
        - name: deviceUids
          in: query
          description: List of device uids. For more information, view `List parameters` section. This parameter is deprecated and will be removed in the future. Use `uids` instead.
          schema:
            type: array
            items:
              type: string
              example: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
          required: false
          deprecated: true
        - name: omitNulls
          in: query
          schema: &ref_223
            type: boolean
            default: false
          description: If set to true, all null values will be omitted (no nulls will be returned). This is part of our effort to standardize the behavior across the API. We have to keep returning nulls be default to maintain backwards compatibility with existing clients. We encourage clients to set this to true as it's possible that it will become the default in the future.
        - name: limit
          in: query
          schema: &ref_212
            type: integer
          description: Page size. For more information, view Pagination section.
          example: 10
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_224
                    uid:
                      type: string
                    aliveAt:
                      type: string
                      nullable: true
                      example: '2021-01-30T08:30:00Z'
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required: &ref_225
                    - uid
                    - createdAt
                    - updatedAt
              example:
                - uid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                  createdAt: '2022-01-01T10:00:00.000Z'
                  updatedAt: '2022-03-01T10:00:00.000Z'
                  aliveAt: '2022-06-22T10:00:00.000Z'
                - uid: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
                  createdAt: '2022-01-01T10:00:00.000Z'
                  updatedAt: '2022-01-03T10:00:00.000Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/alive/count:
    get:
      tags:
        - Device/Alive
      summary: Get Devices Last Alive Count
      description: Get count for all or list of selected devices in the current organization.
      parameters:
        - name: deviceUids
          in: query
          description: List of device uids. For more information, view `List parameters` section. This parameter is deprecated and will be removed in the future. Use `uids` instead.
          schema:
            type: array
            items:
              type: string
              example: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
          required: false
          deprecated: true
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/applet:
    get:
      tags:
        - Device/Applet
      summary: Get devices with their applet assignments
      description: Get all devices with their applet assignments (only devices with at least 1 applet assignment are shown)
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deviceUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Device uids to include in the search
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    name:
                      type: string
                    organizationUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedBy:
                      type: object
                      properties: *ref_157
                    applets:
                      type: array
                      items:
                        type: object
                        properties:
                          uid:
                            type: string
                          active:
                            type: boolean
                          appletUid:
                            type: string
                          appletVersion:
                            type: string
                            format: semver
                          deviceUid:
                            type: string
                          createdAt:
                            type: string
                            format: date-time
                            example: '2021-01-30T08:30:00Z'
                          updatedAt:
                            type: string
                            format: date-time
                            example: '2021-01-30T08:30:00Z'
                          configuration:
                            type: object
                            description: custom configuration that will be passed to the applet
                        required:
                          - uid
                          - active
                          - appletUid
                          - appletVersion
                          - deviceUid
                          - createdAt
                          - updatedAt
                  required:
                    - uid
                    - organizationUid
                    - createdAt
                    - updatedAt
                    - applets
              example:
                - uid: 42e454d7db4dd54660a4250888b0c73414ef75e33077c51453
                  name: Main Display Device
                  organizationUid: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
                  createdAt: '2021-11-15T13:02:37.833Z'
                  updatedAt: '2021-11-20T14:15:22.502Z'
                  applets:
                    - uid: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
                      active: true
                      appletUid: 5c6e6ba12d1f07811c9ec96433868010bd92ef9d0daf8c7807
                      appletVersion: 1.0.0
                      deviceUid: 42e454d7db4dd54660a4250888b0c73414ef75e33077c51453
                      createdAt: '2021-11-15T13:02:37.833Z'
                      updatedAt: '2021-11-15T13:02:37.833Z'
                      configuration:
                        brightness: 85
                        rotation: 0
                    - uid: b8d8e4402352467f1b7199d81bc792962c188g65ff766f8908254
                      active: false
                      appletUid: 6d7f7cb23e2g18922d0fd97544979121ce03fg0e1ebg9d8818
                      appletVersion: 2.1.5
                      deviceUid: 42e454d7db4dd54660a4250888b0c73414ef75e33077c51453
                      createdAt: '2021-11-18T10:30:15.210Z'
                      updatedAt: '2021-11-20T14:15:22.502Z'
                      configuration:
                        displayMode: fullscreen
                        timeout: 3600
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/applet/count:
    get:
      tags:
        - Device/Applet
      summary: Get devices with their applet assignments
      description: Get all devices with their applet assignments (only devices with at least 1 applet assignment are shown)
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deviceUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Device uids to include in the search
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/application/version/latest:
    get:
      tags:
        - Device/Application Version and update
      summary: Get latest Device Application Version Changes
      description: Get latest Device Application Versions Changes which are sorted by device creation date.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: &ref_209
            type: array
            items:
              type: string
          example: &ref_210
            - 8b11e04664e9b840e9a11db43d383745f430ac8e73601793ed3d7
            - 05fcccc39084c1f7ab4a2693cc31c90a1302f07beb4af10185b77
          required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_232
                    uid:
                      type: string
                    deviceUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    succeededAt:
                      type: string
                      nullable: true
                      format: date-time
                    failedAt:
                      type: string
                      nullable: true
                      format: date-time
                    originator:
                      type: object
                      properties: *ref_157
                    createdBy:
                      type: object
                      properties: *ref_157
                    version:
                      type: string
                    applicationType:
                      type: string
                  required: &ref_233
                    - uid
                    - deviceUid
                    - createdAt
                    - originator
                    - createdBy
                    - version
                    - applicationType
                  example: &ref_234
                    uid: ecdd1c06f9203314659dc438085dbe63fbfce951ef1dcbb0d4
                    deviceUid: 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
                    createdAt: '2021-04-25T20:23:47.344Z'
                    succeededAt: '2021-04-25T20:23:47.793Z'
                    failedAt: null
                    version: 8.10.0
                    applicationType: default
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/authentication/{deviceAuthHash}:
    get:
      tags:
        - Device
      summary: Get Device by Authentication Hash
      description: Get device by Authentication Hash which is used for device-CMS authentication by authHash. JS api `sos.authHash` [JS API Basics](https://developers.signageos.io/sdk/applet-basics#starting-applet).
      parameters:
        - name: deviceAuthHash
          in: path
          schema:
            type: string
          required: true
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406dwewwq
                authHash: device-auth-hash
                createdAt: '2021-04-25T19:28:05.835Z'
  /v1/device/configuration/{deviceUid}/telemetry-cache/invalidate:
    post:
      tags:
        - Configuration
      summary: Invalidate device telemetry cache
      description: Triggers invalidation of all cached telemetry data for the specified device.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/device/configuration/{deviceUid}/telemetry-intervals:
    put:
      tags:
        - Configuration
      summary: Set telemetry intervals
      description: Configure device telemetry check intervals
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                screenshots:
                  type: number
                  nullable: true
                temperature:
                  type: number
                  nullable: true
                applicationVersion:
                  type: number
                  nullable: true
                frontDisplayVersion:
                  type: number
                  nullable: true
                brightness:
                  type: number
                  nullable: true
                datetime:
                  type: number
                  nullable: true
                orientation:
                  type: number
                  nullable: true
                powerActionsSchedule:
                  type: number
                  nullable: true
                proprietaryTimers:
                  type: number
                  nullable: true
                remoteControl:
                  type: number
                  nullable: true
                resolution:
                  type: number
                  nullable: true
                timers:
                  type: number
                  nullable: true
                volume:
                  type: number
                  nullable: true
                storage:
                  type: number
                  nullable: true
                battery:
                  type: number
                  nullable: true
                policy:
                  type: number
                  nullable: true
                peerRecovery:
                  type: number
                  nullable: true
                autoRecovery:
                  type: number
                  nullable: true
                default:
                  type: number
                  nullable: true
            example:
              battery: 1500000
              brightness: 1600000
              screenshots: 1200000
              temperature: 1200000
              applicationVersion: 1200000
              frontDisplayVersion: 1200000
              datetime: 1200000
              orientation: 1200000
              powerActionsSchedule: 1200000
              proprietaryTimers: 1200000
              remoteControl: 1200000
              resolution: 1200000
              timers: 1200000
              volume: 1200000
              storage: 1200000
              policy: 1200000
              peerRecovery: 1200000
              autoRecovery: 1200000
              default: 1200000
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
    get:
      tags:
        - Configuration
      summary: Get telemetry intervals
      description: Get device telemetry check intervals
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  screenshots:
                    type: number
                    nullable: true
                  temperature:
                    type: number
                    nullable: true
                  applicationVersion:
                    type: number
                    nullable: true
                  frontDisplayVersion:
                    type: number
                    nullable: true
                  brightness:
                    type: number
                    nullable: true
                  datetime:
                    type: number
                    nullable: true
                  orientation:
                    type: number
                    nullable: true
                  powerActionsSchedule:
                    type: number
                    nullable: true
                  proprietaryTimers:
                    type: number
                    nullable: true
                  remoteControl:
                    type: number
                    nullable: true
                  resolution:
                    type: number
                    nullable: true
                  timers:
                    type: number
                    nullable: true
                  volume:
                    type: number
                    nullable: true
                  storage:
                    type: number
                    nullable: true
                  battery:
                    type: number
                    nullable: true
                  policy:
                    type: number
                    nullable: true
                  peerRecovery:
                    type: number
                    nullable: true
                  autoRecovery:
                    type: number
                    nullable: true
                  default:
                    type: number
                    nullable: true
              example:
                battery: 1500000
                brightness: 1600000
                screenshots: 1200000
                temperature: 1200000
                applicationVersion: 1200000
                frontDisplayVersion: 1200000
                datetime: 1200000
                orientation: 1200000
                powerActionsSchedule: 1200000
                proprietaryTimers: 1200000
                remoteControl: 1200000
                resolution: 1200000
                timers: 1200000
                volume: 1200000
                storage: 1200000
                policy: 1200000
                peerRecovery: 1200000
                autoRecovery: 1200000
                default: 1200000
  /v1/device/count:
    get:
      deprecated: true
      tags:
        - Device
      summary: Get Devices v1 count
      description: |-
        **This endoint is deprecated and will be removed in the future. Use `Get Devices v2` instead.**
        Count all devices for current Organization.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters: *ref_208
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/custom-script/latest:
    get:
      tags:
        - Device/Custom Script
      summary: Get latest Device Custom Script Executions
      description: Get latest Device Custom Script Executions which are sorted by device creation date.
      security:
        - XAuthOrganization: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: customScriptUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by Custom Script UIDs
          example:
            - 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
        - name: versions
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by Custom Script Versions
          example:
            - 1.0.0
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: *ref_209
          example: *ref_210
          required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_237
                    uid:
                      type: string
                    customScriptUid:
                      type: string
                    version:
                      type: string
                    deviceUid:
                      type: string
                    configuration:
                      type: object
                      additionalProperties: true
                    createdAt:
                      type: string
                      format: date-time
                    succeededAt:
                      type: string
                      nullable: true
                      format: date-time
                    failedAt:
                      type: string
                      nullable: true
                      format: date-time
                    result:
                      type: object
                      properties:
                        runtime:
                          type: string
                          enum: *ref_201
                        stream:
                          type: array
                          items:
                            type: object
                            properties:
                              pipeline:
                                type: string
                                enum:
                                  - stdout
                                  - stderr
                              timestamp:
                                type: integer
                              data:
                                type: string
                            required:
                              - pipeline
                              - timestamp
                              - data
                        exitCode:
                          type: integer
                      required:
                        - runtime
                        - stream
                        - exitCode
                  required: &ref_238
                    - uid
                    - customScriptUid
                    - version
                    - deviceUid
                    - configuration
                    - createdAt
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/deprovision:
    post:
      tags:
        - Device/Provisioning, Adding and removing devices
      summary: Deprovision/remove Device
      description: |-
        This endpoint allows you to securely deprovision a signageOS device using its authHash. It is especially useful in cases where the user has physical access to the device, but does not have access to the signageOS account under which the device was originally provisioned.
        When to Use This Endpoint:
        * You have a “lost” or “orphaned” device that was previously provisioned under a different signageOS account.
        * You physically control the device, but don’t have access to its current provisioning record in the signageOS platform.
        * You are using a custom recovery Applet or utility to retrieve the device’s authHash directly via the sos.authHash property in the JavaScript SDK.
        * You need to reset or reclaim ownership of a device to provision it under a new account.
        * [How to deprovision device via Box or REST API](https://docs.signageos.io/hc/en-us/articles/4405239243922)
        <b>Attention:</b> this endpoint requires your Account token. You cannot use organization token.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                authHash:
                  type: string
                  description: unique device identification
              required:
                - authHash
              example:
                authHash: 5c6e6ba12d1f07811c9ec96433868010bd92ef9d0daf8c7807
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: Success
          content: *ref_211
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/policy:
    get:
      tags:
        - Device/Policy
      summary: Get Device Policies
      description: Get current policy of all devices in organization.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: *ref_209
          example: *ref_210
          required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    policies:
                      type: array
                      items:
                        type: object
                        properties:
                          uid:
                            type: string
                          priority:
                            type: integer
                          assignedAt:
                            type: string
                            format: date-time
                            example: '2021-01-30T08:30:00Z'
                        additionalProperties: false
                        example:
                          - uid: 7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1
                            priority: 1
                            assignedAt: '2022-02-21T17:04:31.711Z'
                        required:
                          - uid
                          - priority
                          - assignedAt
                    deviceUid:
                      type: string
                    uid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required:
                    - deviceUid
                    - policies
                    - uid
                    - createdAt
                    - updatedAt
              example:
                - uid: asndlajnd9403184aijdfahjsdlskja
                  deviceUid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2dgdfgdfgd
                  createdAt: '2022-02-21T17:04:31.711Z'
                  updatedAt: '2022-02-21T17:04:31.711Z'
                  policies:
                    - uid: 7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1
                      priority: 1
                      assignedAt: '2022-02-21T17:04:31.711Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/policy/count:
    get:
      tags:
        - Device/Policy
      summary: Count Device Policies
      description: Get count of device policies.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - in: query
          schema:
            type: integer
          description: Limit of results
          example: 5
          name: deviceUids
          deprecated: true
          required: false
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/screenshot:
    get:
      tags:
        - Device/Screenshots
      summary: Get Last Screenshot By Devices
      description: |-
        Get list of last screenshots. One screenshot for each listed device in current organization. If device doesn't have any screenshots, it will be skipped. If device has disabled screen capture, it will be skipped.

        This endpoint uses pagination. For more information view Pagination section.

        **Upcoming change:** The `uri` field in the response will change from a permanent, publicly accessible URL to a time-limited pre-signed URL. The pre-signed URL grants direct access to the screenshot file without any additional authentication or redirect. The URL is guaranteed to be valid for at least **8 hours** from the time it was generated. Once this change takes effect, you will no longer be able to store the `uri` value and reuse it indefinitely. After the URL expires, call this endpoint again to get updated screenshot metadata with a fresh pre-signed `uri`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_212
          description: Page size. For more information, view Pagination section.
          example: 10
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: *ref_209
          example: *ref_210
          required: false
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - required: false
          name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: aHash
          in: query
          schema: &ref_213
            type: array
            items:
              type: string
            example:
              - a234dasgpio4r23gdsagwpio
              - a234dasgpio4r23gdsagwpio2
          description: Average hashes of image
          required: false
        - name: aHashToExclude
          in: query
          schema: &ref_254
            type: array
            items:
              type: string
          example: &ref_255
            - a234dasgpio4r23gdsagwpio
            - a234dasgpio4r23gdsagwpio2
          description: Average hashes of image to exclude from results
          required: false
        - name: dHash
          in: query
          schema: &ref_214
            type: array
            items:
              type: string
          example: &ref_215
            - a234dasgpio4r23gdsagwpio
            - a234dasgpio4r23gdsagwpio2
          description: Difference hashes of image
          required: false
        - name: dHashToExclude
          in: query
          schema: &ref_256
            type: array
            items:
              type: string
          example: &ref_257
            - a234dasgpio4r23gdsagwpio
            - a234dasgpio4r23gdsagwpio2
          description: Difference hashes of image to exclude from results
          required: false
        - name: pHash
          in: query
          schema: &ref_216
            type: array
            items:
              type: string
          example: &ref_217
            - a234dasgpio4r23gdsagwpio
            - a234dasgpio4r23gdsagwpio2
          description: Perceptual hashes of image
        - name: pHashToExclude
          in: query
          schema: &ref_258
            type: array
            items:
              type: string
          example: &ref_259
            - a234dasgpio4r23gdsagwpio
            - a234dasgpio4r23gdsagwpio2
          description: Perceptual hashes of image to exclude from results
          required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_260
                    uid:
                      type: string
                      description: Unique identifier of the screenshot.
                    deviceUid:
                      type: string
                    takenAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    uri:
                      type: string
                      description: |-
                        URL for downloading the screenshot image.
                        **Upcoming change:** This will change from a permanent, publicly accessible URL to a time-limited pre-signed URL. The pre-signed URL grants direct access to the screenshot file without any additional authentication or redirect. The URL is guaranteed to be valid for at least **8 hours** from the time it was generated. After that, fetch fresh screenshot metadata to obtain a new URL.
                    imageHashes:
                      type: object
                      properties:
                        aHash:
                          type: string
                          example: a234dasgpio4r23gdsagwpio
                          description: Average hash of image
                        dHash:
                          type: string
                          example: a234dasgpio4r23gdsagwpio
                          description: Difference hash of image
                        pHash:
                          type: string
                          example: a234dasgpio4r23gdsagwpio
                          description: Perceptual hash of image
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required: &ref_261
                    - uid
                    - deviceUid
                    - takenAt
                    - uri
                    - createdAt
                    - updatedAt
              example: &ref_262
                - uid: 0e95c7cf-b3e1-41ad-ab71-a4321dafaaab
                  deviceUid: device-uid-1
                  takenAt: '2022-01-01T10:00:00.000Z'
                  createdAt: '2022-01-01T10:00:00.000Z'
                  updatedAt: '2022-01-01T10:00:00.000Z'
                  uri: www.screenshot-url-1.com
                  imageHashes:
                    aHash: a234dasgpio4r23gdsagwpio
                    dHash: a234dasgpio4r23gdsagwpio
                    pHash: a234dasgpio4r23gdsagwpio
                - uid: 0e95c7cf-b3e1-41ad-ab71-a4321dafaaab
                  deviceUid: device-uid-2
                  takenAt: '2022-01-01T11:00:00.000Z'
                  createdAt: '2022-01-01T11:00:00.000Z'
                  updatedAt: '2022-01-01T11:00:00.000Z'
                  uri: www.screenshot-url-2.com
                  imageHashes:
                    aHash: a234dasgpio4r23gdsagwpio
                    dHash: a234dasgpio4r23gdsagwpio
                    pHash: a234dasgpio4r23gdsagwpio
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/screenshot/count:
    get:
      tags:
        - Device/Screenshots
      summary: Count Last Screenshot By Devices
      description: |-
        Get count of last screenshots. One screenshot for each listed device in current organization. If device doesn't have any screenshots, it will be skipped. If device has disabled screen capture, it will be skipped.

        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_212
          description: Page size. For more information, view Pagination section.
          example: 10
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: *ref_209
          example: *ref_210
          required: false
        - required: false
          name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - required: false
          name: aHash
          in: query
          schema: *ref_213
          description: Average hashes of image
        - required: false
          name: dHash
          in: query
          schema: *ref_214
          example: *ref_215
          description: Difference hashes of image
        - required: false
          name: pHash
          in: query
          schema: *ref_216
          example: *ref_217
          description: Perceptual hashes of image
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/tag:
    get:
      tags:
        - Device/Tag (Device Tags)
      summary: Get devices with tags
      description: Get list of devices that have tags
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    duid:
                      type: string
                    name:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    organizationUid:
                      type: string
                    tags:
                      type: array
                      items:
                        type: object
                        properties:
                          uid:
                            type: string
                          organizationUid:
                            type: string
                          name:
                            type: string
                          color:
                            type: string
                          createdAt:
                            type: string
                            format: date-time
                            example: '2021-01-30T08:30:00Z'
                          updatedAt:
                            type: string
                            format: date-time
                            example: '2021-01-30T08:30:00Z'
                        required:
                          - uid
                          - organizationUid
                          - name
                          - createdAt
                          - updatedAt
                  required:
                    - uid
                    - duid
                    - organizationUid
                    - createdAt
                    - updatedAt
                    - tags
              example:
                - uid: 377d8837b48fe0992adb65aef8c564ae4372f65799be854622235
                  duid: be1d53f79a460efb5225fc36455ecad66ed167d63bd71dbd80
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b75305fba4c
                  name: My awesome device
                  createdAt: '2025-10-14T12:58:44.520Z'
                  updatedAt: '2025-10-14T12:58:44.520Z'
                  tags:
                    - uid: eaab98a340c1dc682d614cdf26287d7439d29ef08956da45ec
                      organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b75305fba4c
                      name: My awesome tag
                      createdAt: '2025-10-14T12:58:44.520Z'
                      updatedAt: '2025-10-14T12:58:44.520Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/tag/count:
    get:
      tags:
        - Device/Tag (Device Tags)
      summary: Get count of devices with tags
      description: Get count of devices that have tags
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/telemetry/latest:
    get:
      tags:
        - Device/Telemetry
      summary: Get Devices Latest Telemetries
      description: |-
        Get list all telemetry records (e.g.: REMOTE_CONTROL, ONLINE_STATUS and etc.), for all or list of selected devices in the current organization.
        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: *ref_209
          example: *ref_210
          required: false
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_268
                    uid:
                      type: string
                    deviceUid:
                      type: string
                      deprecated: true
                      description: Deprecated, please use `uid` instead
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    telemetries:
                      type: object
                      properties:
                        APPLET:
                          allOf:
                            - type: object
                              properties: &ref_218
                                uid:
                                  type: string
                                createdAt:
                                  type: string
                                  format: date-time
                                  example: '2021-01-30T08:30:00Z'
                                data:
                                  type: object
                                  description: Telemetry data - specific structure defined by telemetry type
                              required: &ref_219
                                - uid
                                - createdAt
                                - data
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_270
                                    appletUid:
                                      type: string
                                    appletVersion:
                                      type: boolean
                                      format: semver
                                    config:
                                      type: object
                                  required: &ref_271
                                    - appletUid
                                    - appletVersion
                                    - config
                        APPLICATION_VERSION:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_272
                                    version:
                                      type: string
                                  required: &ref_273
                                    - version
                        APP_MODULES:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_274
                                    management:
                                      type: boolean
                                    front:
                                      type: boolean
                                  required: &ref_275
                                    - management
                                    - front
                        AUTO_RECOVERY:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_276
                                    enabled:
                                      type: boolean
                                    healthcheckIntervalMs:
                                      type: number
                                    autoEnableTimeoutMs:
                                      type: number
                                  required: &ref_277
                                    - enabled
                        BRIGHTNESS:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_278
                                    brightness:
                                      type: number
                                  required: &ref_279
                                    - brightness
                        BUNDLED_APPLET:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_280
                                    appletUid:
                                      type: string
                                    appletVersion:
                                      type: string
                                    config:
                                      type: object
                                  required: &ref_281
                                    - appletUid
                                    - appletVersion
                                    - config
                        CONNECTION_METHOD:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: string
                                  nullable: true
                                  enum: &ref_282
                                    - ws
                                    - http
                        CPU_USAGE:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_283
                                    usage:
                                      type: integer
                                  required: &ref_284
                                    - usage
                        CRYPTOGRAPHIC_KEY:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_285
                                    algorithm:
                                      type: string
                                    keySize:
                                      type: integer
                                    publicKey:
                                      type: object
                                      properties:
                                        spki:
                                          type: string
                                      required:
                                        - spki
                                    keyValidity:
                                      type: object
                                      properties:
                                        start:
                                          type: string
                                          format: date-time
                                          example: '2021-01-30T08:30:00Z'
                                        forConsumptionEnd:
                                          type: string
                                          format: date-time
                                          example: '2021-01-30T08:30:00Z'
                                        forOriginationEnd:
                                          type: string
                                          format: date-time
                                          example: '2021-01-30T08:30:00Z'
                                    blockModels:
                                      type: array
                                      items:
                                        type: string
                                    digests:
                                      type: array
                                      items:
                                        type: string
                                    mgf1Digests:
                                      type: array
                                      items:
                                        type: string
                                    encryptionPaddings:
                                      type: array
                                      items:
                                        type: string
                                    signaturePaddings:
                                      type: array
                                      items:
                                        type: string
                        DATETIME:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_286
                                    timezone:
                                      nullable: true
                                      type: string
                                    ntpServer:
                                      nullable: true
                                      type: string
                                  required: &ref_287
                                    - timezone
                                    - ntpServer
                        DEBUG:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_288
                                    appletEnabled:
                                      type: boolean
                                    nativeEnabled:
                                      type: boolean
                                  required: &ref_289
                                    - appletEnabled
                                    - nativeEnabled
                        DISPLAY_POWER_ON:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_290
                                    powerOn:
                                      type: boolean
                                  required: &ref_291
                                    - powerOn
                        DISPLAY_SETTING:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_292
                                    backlight:
                                      type: number
                                    contrast:
                                      type: number
                                    sharpness:
                                      type: number
                                    maxTemperature:
                                      type: number
                                  required: &ref_293
                                    - backlight
                                    - contrast
                                    - sharpness
                                    - maxTemperature
                        EXTENDED_MANAGEMENT:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_294
                                    url:
                                      type: string
                                      nullable: true
                                  required: &ref_295
                                    - url
                        FEATURE_FLAGS:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_296
                                    supported:
                                      type: array
                                      items:
                                        type: string
                                        enum:
                                          - screenshotCapture
                                          - systemLogs
                                          - cpuUsage
                                          - memoryUsage
                                  required: &ref_297
                                    - supported
                        FIRMWARE_VERSION:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_298
                                    version:
                                      type: string
                                  required: &ref_299
                                    - version
                        FRONT_CAPABILITIES:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_300
                                    type: string
                                    enum:
                                      - FILE_SYSTEM_INTERNAL_STORAGE
                                      - FILE_SYSTEM_EXTERNAL_STORAGE
                                      - FILE_SYSTEM_FILE_CHECKSUM
                                      - FILE_SYSTEM_LINK
                                      - TIMERS_PROPRIETARY
                                      - VIDEO_4K
                                      - SERIAL
                                      - BARCODE_SCANNER
                                      - FRONT_OSD
                                      - FILE_SYSTEM_CREATE_ARCHIVE
                                      - FILE_SYSTEM_ARCHIVE_EXTRACT_INFO
                                      - BROWSER
                                      - PROXIMITY_SENSOR
                        FRONT_DISPLAY_VERSION:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_301
                                    version:
                                      type: string
                                    versionNumber:
                                      type: number
                                  required: &ref_302
                                    - version
                                    - versionNumber
                        INPUT_SOURCE:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_303
                                    inputSource:
                                      oneOf:
                                        - title: input source
                                          type: string
                                          enum: *ref_220
                                        - type: string
                                          title: string
                                  required: &ref_304
                                    - inputSource
                        INSTALLED_PACKAGES:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  description: List of installed packages on the device
                                  items: &ref_305
                                    type: object
                                    properties:
                                      buildHash:
                                        type: string
                                        description: Unique hash identifying the package build
                                      specs:
                                        type: object
                                        description: Platform-specific package specifications
                                        oneOf:
                                          - type: object
                                            title: android
                                            description: Android package specifications
                                            properties:
                                              packageName:
                                                type: string
                                                description: Android application package name (e.g., io.signageos.android)
                                              sdkVersion:
                                                type: number
                                                description: Minimum SDK version as specified in the APK manifest
                                              supportedAbis:
                                                type: array
                                                description: List of supported ABIs (e.g., armeabi-v7a, arm64-v8a)
                                                items:
                                                  type: string
                                              multiArch:
                                                type: boolean
                                                nullable: true
                                                description: Whether this APK may be loaded as a library by other apps
                                              versionCode:
                                                type: number
                                                description: Version code as specified in the APK manifest
                                              versionName:
                                                type: string
                                                description: Version name as specified in the APK manifest
                                            required:
                                              - packageName
                                              - sdkVersion
                                          - type: object
                                            title: linux
                                            description: Linux (Debian) package specifications
                                            properties:
                                              format:
                                                type: string
                                                enum:
                                                  - deb
                                                description: Package format (currently fixed to 'deb' for Debian packages)
                                              package:
                                                type: string
                                                description: Package name as defined by debian 'control' config file
                                              version:
                                                type: string
                                                description: Version as defined by debian 'control' config file
                                              architecture:
                                                type: string
                                                description: Architecture as defined by debian 'control' config file (e.g., amd64, x86_64)
                                            required:
                                              - format
                                              - package
                                              - version
                                              - architecture
                                    required:
                                      - buildHash
                                      - specs
                        MANAGEMENT_CAPABILITIES:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_306
                                    type: string
                                    enum:
                                      - MODEL
                                      - SERIAL_NUMBER
                                      - BRAND
                                      - OS_VERSION
                                      - BATTERY_STATUS
                                      - STORAGE_UNITS
                                      - TEMPERATURE
                                      - SCREENSHOT_UPLOAD
                                      - NETWORK_INFO
                                      - WIFI
                                      - WIFI_SCAN
                                      - WIFI_AP
                                      - WIFI_STRENGTH
                                      - TIMERS_PROPRIETARY
                                      - BRIGHTNESS_SCHEDULING
                                      - TIMERS_NATIVE
                                      - SET_BRIGHTNESS
                                      - GET_BRIGHTNESS
                                      - SCREEN_RESIZE
                                      - SET_TIME
                                      - SET_TIMEZONE
                                      - GET_TIMEZONE
                                      - NTP_TIME
                                      - APP_UPGRADE
                                      - FIRMWARE_UPGRADE
                                      - PACKAGE_INSTALL
                                      - SET_VOLUME
                                      - GET_VOLUME
                                      - SET_REMOTE_CONTROL_ENABLED
                                      - SET_DEBUG
                                      - SYSTEM_REBOOT
                                      - APP_RESTART
                                      - DISPLAY_POWER
                                      - SERVLET
                                      - HARDWARE_LED_SET_COLOR
                                      - PROXIMITY_SENSOR
                                      - FACTORY_RESET
                                      - ORIENTATION_LANDSCAPE
                                      - ORIENTATION_PORTRAIT
                                      - ORIENTATION_LANDSCAPE_FLIPPED
                                      - ORIENTATION_PORTRAIT_FLIPPED
                                      - ORIENTATION_AUTO
                                      - SCHEDULE_POWER_ACTION
                                      - EXTENDED_MANAGEMENT
                                      - SYSTEM_CPU
                                      - SYSTEM_MEMORY
                                      - PROXY
                                      - AUTO_RECOVERY
                                      - PEER_RECOVERY
                                      - FILE_SYSTEM_WIPEOUT
                                      - REMOTE_DESKTOP
                                      - HOTEL_MODE
                                      - VPN
                                      - CUSTOM_SCRIPTS
                                      - NATIVE_COMMANDS_MDC
                                      - DEVICE_OWNER
                                      - ACCESSIBILITY_SERVICE
                                      - DISPLAY_MANAGER
                                      - SECRETS
                                      - HARDWARE_ACCELERATION
                                      - WIFI_COUNTRY
                                      - STOP_PACKAGE
                                      - PLUGINS
                                      - RUNNERS
                        MEMORY_USAGE:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_307
                                    usage:
                                      type: integer
                                    total:
                                      type: integer
                                  required: &ref_308
                                    - usage
                                    - total
                        NETWORK_INTERFACES:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_309
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                      type:
                                        type: string
                                        enum:
                                          - wifi
                                          - ethernet
                                          - vpn
                                          - mobile
                                      macAddress:
                                        type: string
                                        format: mac
                                      disabled:
                                        type: boolean
                                      gateway:
                                        type: string
                                      localAddress:
                                        type: string
                                      netmask:
                                        type: string
                                      dns:
                                        type: array
                                        items:
                                          type: string
                                      wifiStrength:
                                        type: integer
                                      wifiSsid:
                                        type: string
                                    required:
                                      - name
                                      - type
                                      - macAddress
                        OFFLINE_RANGE:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_310
                                    since:
                                      type: string
                                      format: date-time
                                      example: '2021-01-30T08:30:00Z'
                                    until:
                                      type: string
                                      format: date-time
                                      example: '2021-01-30T08:30:00Z'
                                  required: &ref_311
                                    - since
                                    - until
                        ONLINE_STATUS:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_312
                                    online:
                                      type: boolean
                                  required: &ref_313
                                    - online
                        ORIENTATION:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_314
                                    orientation:
                                      type: string
                                      enum:
                                        - PORTRAIT
                                        - LANDSCAPE
                                        - PORTRAIT_FLIPPED
                                        - LANDSCAPE_FLIPPED
                                        - AUTO
                                    videoOrientation:
                                      type: string
                                      enum:
                                        - LANDSCAPE
                                        - LANDSCAPE_FLIPPED
                                  required: &ref_315
                                    - orientation
                        PEER_RECOVERY:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_316
                                    enabled:
                                      type: boolean
                                    urlLauncherAddress:
                                      type: string
                                    autoEnableTimeoutMs:
                                      type: number
                                  required: &ref_317
                                    - enabled
                        PLUGIN:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_318
                                    type: object
                                    properties:
                                      pluginUid:
                                        type: string
                                      version:
                                        type: string
                                      data:
                                        type: object
                                        additionalProperties: true
                                    required:
                                      - pluginUid
                                      - version
                                      - data
                        POWER_ACTIONS_SCHEDULE:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_319
                                    type: object
                                    properties:
                                      uid:
                                        type: string
                                      powerType:
                                        type: string
                                        enum:
                                          - APP_RESTART
                                          - SYSTEM_REBOOT
                                          - APPLET_RELOAD
                                          - APPLET_REFRESH
                                          - DISPLAY_POWER_ON
                                          - DISPLAY_POWER_OFF
                                          - BACKUP_RESTART
                                          - APPLET_ENABLE
                                          - APPLET_DISABLE
                                          - FILE_SYSTEM_WIPEOUT
                                      weekdays:
                                        type: string
                                        enum:
                                          - SUNDAY
                                          - MONDAY
                                          - TUESDAY
                                          - WEDNESDAY
                                          - THURSDAY
                                          - FRIDAY
                                          - SATURDAY
                                      time:
                                        type: string
                                    required:
                                      - uid
                                      - powerType
                                      - weekdays
                                      - time
                        PROPRIETARY_TIMERS:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_320
                                    type: object
                                    properties:
                                      type:
                                        pattern: /^TIMER_\d+$/g
                                      weekdays:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - SUNDAY
                                            - MONDAY
                                            - TUESDAY
                                            - WEDNESDAY
                                            - THURSDAY
                                            - FRIDAY
                                            - SATURDAY
                                      timeOn:
                                        nullable: true
                                        type: string
                                      timeOff:
                                        nullable: true
                                        type: string
                                      keepAppletRunning:
                                        type: boolean
                                    required:
                                      - type
                                      - weekdays
                                      - timeOn
                                      - timeOff
                        PROXY:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_321
                                    enabled:
                                      type: boolean
                                    uri:
                                      type: string
                                      nullable: true
                                  required: &ref_322
                                    - enabled
                                    - uri
                        REMOTE_CONTROL:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_323
                                    enabled:
                                      type: boolean
                                  required: &ref_324
                                    - enabled
                        RESOLUTION:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_325
                                    width:
                                      type: number
                                    height:
                                      type: number
                                    framerate:
                                      type: number
                                  required: &ref_326
                                    - width
                                    - height
                        RUNNER:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_327
                                    type: object
                                    properties:
                                      runnerUid:
                                        type: string
                                      version:
                                        type: string
                                      data:
                                        type: object
                                        additionalProperties: true
                                    required:
                                      - runnerUid
                                      - version
                                      - data
                        RUNNER_CUSTOM:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_328
                                    type: object
                                    properties:
                                      runnerUid:
                                        type: string
                                      version:
                                        type: string
                                      data:
                                        type: object
                                        additionalProperties: true
                                    required:
                                      - runnerUid
                                      - version
                                      - data
                        STORAGE:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_329
                                    storageUnits:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          type:
                                            type: string
                                          capacity:
                                            type: number
                                          freeSpace:
                                            type: number
                                          usableSpace:
                                            type: number
                                          removable:
                                            type: boolean
                                        required:
                                          - type
                                          - capacity
                                          - freeSpace
                                          - usableSpace
                                          - removable
                                  required: &ref_330
                                    - storageUnits
                        SUPRA:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_331
                                    enabled:
                                      type: boolean
                                    hostname:
                                      type: string
                                    secure:
                                      type: boolean
                                    appName:
                                      type: string
                                    extraArgs:
                                      type: string
                                    supraCoreAppVersion:
                                      type: string
                                    supraScreenAppletVersion:
                                      type: string
                                    clientID:
                                      type: string
                                    servers:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          hostname:
                                            type: string
                                          secure:
                                            type: boolean
                                        required:
                                          - hostname
                                    connectionStatus:
                                      type: string
                                      enum:
                                        - connected
                                        - disconnected
                                        - searching
                                  required: &ref_332
                                    - enabled
                        TEMPERATURE:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_333
                                    temperatureLimit:
                                      type: number
                                  required: &ref_334
                                    - temperatureLimit
                        TIMERS:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: array
                                  items: &ref_335
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        enum:
                                          - TIMER_1
                                          - TIMER_2
                                          - TIMER_3
                                          - TIMER_4
                                          - TIMER_5
                                          - TIMER_6
                                          - TIMER_7
                                      weekdays:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                            - SUNDAY
                                            - MONDAY
                                            - TUESDAY
                                            - WEDNESDAY
                                            - THURSDAY
                                            - FRIDAY
                                            - SATURDAY
                                      timeOn:
                                        nullable: true
                                        type: string
                                      timeOff:
                                        nullable: true
                                        type: string
                                      volume:
                                        type: number
                                        minimum: 0
                                        maximum: 100
                                    required:
                                      - type
                                      - weekdays
                                      - timeOn
                                      - timeOff
                                      - volume
                        VOLUME:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_336
                                    volume:
                                      type: number
                                  required: &ref_337
                                    - volume
                        WIFI_STRENGTH:
                          allOf:
                            - type: object
                              properties: *ref_218
                              required: *ref_219
                            - type: object
                              properties:
                                data:
                                  type: object
                                  properties: &ref_338
                                    strength:
                                      type: number
                                  required: &ref_339
                                    - strength
                  required: &ref_269
                    - uid
                    - deviceUid
                    - createdAt
                    - telemetries
              example:
                - uid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                  deviceUid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                  createdAt: '2022-01-03T10:00:00.000Z'
                  telemetries:
                    APPLICATION_VERSION:
                      uid: dec419cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                      createdAt: '2022-01-03T10:00:00.000Z'
                      data:
                        version: 1.0.0
                    BRIGHTNESS:
                      uid: dec419cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                      createdAt: '2022-01-03T10:00:00.000Z'
                      data:
                        brightness: 50
                    WIFI_STRENGTH:
                      uid: dec419cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                      createdAt: '2022-01-03T10:00:00.000Z'
                      data:
                        strength: 50
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/telemetry/latest/count:
    get:
      tags:
        - Device/Telemetry
      summary: Get Count of Devices Latest Telemetries
      description: 'Get count of all telemetry records (e.g.: REMOTE_CONTROL, ONLINE_STATUS and etc.).'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: *ref_209
          example: *ref_210
          required: false
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/verification:
    post:
      tags:
        - Device/Provisioning, Adding and removing devices
      summary: Verify Device via Verification Hash
      description: |-
        Register device to your account by sending Verification Hash.

        When a device is successfully verified & paired with an organization. The request returns response code 201. Additionally in response `Header Location` will be available link to just verified device verification resource.

        *   [How to add new device via Box](https://docs.signageos.io/hc/en-us/articles/4405021559826)
        *   [Introduction to Device Provisioning](https://docs.signageos.io/hc/en-us/articles/4405239195154-Introduction-to-Device-Provisioning)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                verificationHash:
                  type: string
                  description: Verification hash generated on screen during deployment
                organizationUid:
                  type: string
                  description: Organization UID. Not needed for organization authenticated requests
              required:
                - verificationHash
              example:
                verificationHash: '{{verificationHash}}'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/verification/{deviceVerificationUid}:
    get:
      tags:
        - Device/Provisioning, Adding and removing devices
      summary: Get Device Verification
      description: |-
        Get device verification containing hash by `deviceVerificationUid`.

        *   [Introduction to Device Provisioning](https://docs.signageos.io/hc/en-us/articles/4405239195154-Introduction-to-Device-Provisioning)
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceVerificationUid
          in: path
          schema:
            type: string
          required: true
          example: '{{deviceVerificationUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
                  deviceUid:
                    type: string
                  hash:
                    type: string
                  verifiedAt:
                    type: string
                    format: date-time
                    nullable: true
                required:
                  - uid
                  - createdAt
                  - deviceUid
                  - hash
                  - verifiedAt
              example:
                uid: d2f3e255fad2dd6f3e12f0f16dc594fe99654fec351f3fa338
                createdAt: '2021-05-04T10:38:54.483Z'
                deviceUid: e3f9f4291feff2dc0ee17319f1cdab15fb41007bbd0cd5c37a244
                hash: e0a7fe
                verifiedAt: '2022-02-22T16:34:42.518Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/volume/latest:
    get:
      tags:
        - Device/Volume
      summary: Get latest Device Volume Changes
      description: Get latest Device Volume Changes which are sorted by device creation date.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: deviceUids
          deprecated: true
          in: query
          description: Deprecated, use `uids` parameter instead. List of device uids. For more information, view `List parameters` section.
          schema: *ref_209
          example: *ref_210
          required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_343
                    uid:
                      type: string
                    deviceUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    succeededAt:
                      type: string
                      nullable: true
                      format: date-time
                    failedAt:
                      type: string
                      nullable: true
                      format: date-time
                    originator:
                      type: object
                      properties: *ref_157
                    createdBy:
                      type: object
                      properties: *ref_157
                    volume:
                      type: number
                      example: 90
                  required: &ref_344
                    - uid
                    - deviceUid
                    - createdAt
                    - originator
                    - createdBy
                    - volume
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}:
    get:
      deprecated: true
      tags:
        - Device
      summary: Get Device v1
      description: |-
        **This endoint is deprecated and will be removed in the future. Use `Get Device v2` instead.**
        Get one device detail by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: omitNulls
          in: query
          schema:
            type: boolean
            default: false
          description: By passing this option, all null values will be omitted (no nulls will be returned). This is the intended behaviour and it is recommended to enable it.
        - name: search
          in: query
          schema:
            type: string
          description: search by string contained in uid, duid or name of device
          example: Marge
        - name: model
          in: query
          schema:
            type: string
          description: filter by device model matching
          example: LGE-55SM5C-BF-1
        - name: applicationType
          in: query
          schema:
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: filter by application type
          example: webos
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_221
                required: *ref_222
              example:
                uid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                duid: c3e898cbc28a4d7c7b36dffa8dfd3efb41ae275cac03f425fc
                name: Test Device
                createdAt: '2021-04-13T17:23:59.507Z'
                updatedAt: '2021-04-18T22:26:39.405Z'
                aliveAt: '2021-04-14T16:01:58.754Z'
                pinCode: '0000'
                applicationType: default
                applicationVersion: 8.10.1-ep-fix-acceptance-tests.4588
                frontDisplayVersion: 8.10.1-ep-fix-acceptance-tests.4588
                firmwareVersion: Chrome-89.0.4389.114
                model: Linux x86_64
                serialNumber: 8D9CF7D0A670
                brand: signageOS
                osVersion: 1.0.0
                organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b75305fba4c
                networkInterfaces:
                  wifi:
                    macAddress: eb:dd:dd:c7:5b:ee
                  ethernet:
                    domainNameServers:
                      - 8.8.8.8
                    gateway: 35af6b1c-57dc-4173-98ab-2eb9039d98d4.1
                    interfaceName: eth0
                    ipAddress: 35af6b1c-57dc-4173-98ab-2eb9039d98d4.local
                    macAddress: 0c:dd:1c:9f:2c:dd
                    netmask: 255.255.255.0
                storageStatus:
                  updatedAt: '2021-04-14T15:59:42.806Z'
                  internal:
                    capacity: 10737418799
                    freeSpace: 10737418650
                  removable:
                    capacity: 0
                    freeSpace: 0
                connections: []
                currentTime:
                  requestTime: '2021-04-18T22:40:03.116Z'
                  reportedTime: '2021-04-14T16:59:29+02:00'
                  reportedTimestamp: 1618412369582
                  time: '2021-04-19T00:40:03+02:00'
                  timezone: Europe/Prague
                  updatedAt: '2021-04-14T14:59:29.688Z'
                supportedResolutions:
                  - width: 1920
                    height: 1080
                    framerate: 60
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    put:
      deprecated: true
      tags:
        - Device
      summary: Update Device Name
      description: |-
        **This endpoint is deprecated and will be removed in the future. Use `v2 PUT Configure Device` instead.**
        Update one device by deviceUid - Set device name.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: device name
                  example: Reception Display
              required:
                - name
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/action-log:
    get:
      tags:
        - Device/ActionLog (Device History)
      summary: Get device history
      description: |-
        Action log includes complete history of actions performed with the device as well as the action originator (user/api) and the result. You can see the Action log in a History tab on device detail page in Box.

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `deviceUid` | string | <div class="red">required</div> | unique device identification |
        | `descending` | boolean | <div class="yellow">optional</div> | `true` or `false`|
        | `limit` | number| <div class="yellow">optional</div> | limit the number of returned results |
        | `since` | timestamp | <div class="yellow">optional</div>  | limit result by date and time |
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Successful response
          headers:
            Link:
              schema:
                type: string
                example: <{{host}}/v1/device/{{deviceUid}}/action-log?descending=true&limit=2&since=2021-11-15T13%3A02%3A37.833Z&until=2021-11-15T13%3A05%3A36.987Z>; rel="next"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
                  deviceUid: 42e454d7db4dd54660a4250888b0c73414ef75e33077c51453142
                  createdAt: '2021-11-15T13:08:44.029Z'
                  succeededAt: null
                  failedAt: null
                  type: POWER_ACTION
                  data:
                    powerType: APP_RESTART
                  originator:
                    account:
                      accountId: 1252833502517195
                      email: john.doe@signageos.io
                - uid: cf81f8e1aed58c90761244051a1a61bc9d05734d456ae5f0a0
                  deviceUid: 42e454d7db4dd54660a4250888b0c73414ef75e33077c51453142
                  createdAt: '2021-11-15T13:05:36.987Z'
                  succeededAt: '2021-11-15T13:05:40.987Z'
                  failedAt: null
                  type: CREATE_TIMING
                  data:
                    appletUid: 5c6e6ba12d1f07811c9ec96433868010bd92ef9d0daf8c7807
                    appletVersion: 1.0.0
                    startsAt: '2021-11-15T04:05:00.000Z'
                    endsAt: '2021-11-15T04:05:00.000Z'
                    configuration:
                      identification: f8b5f98605
                    finishEvent:
                      type: DURATION
                    position: 1
                  originator:
                    account:
                      accountId: 1252833502517195
                      email: john.doe@signageos.io
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Resource was not found
                errorCode: 404001
                errorName: ENDPOINT_NOT_FOUND
                errorDetail: Specified endpoint doesn't exist for specified method
  /v1/device/{deviceUid}/alive:
    get:
      tags:
        - Device/Alive
      summary: Get Device Last Alive
      description: Get the datetime, when the device was last active for a device in current organization.
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: omitNulls
          in: query
          schema: *ref_223
          description: If set to true, all null values will be omitted (no nulls will be returned). This is part of our effort to standardize the behavior across the API. We have to keep returning nulls be default to maintain backwards compatibility with existing clients. We encourage clients to set this to true as it's possible that it will become the default in the future.
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_224
                required: *ref_225
              example:
                uid: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
                createdAt: '2022-01-01T10:00:00.000Z'
                updatedAt: '2022-01-03T10:00:00.000Z'
                aliveAt: '2022-06-22T10:00:00.000Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/applet:
    get:
      tags:
        - Device/Applet
      summary: Get Applets assigned to a device
      description: Get all applets assigned to a device
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: active
          in: query
          description: Filter by active status
          required: false
          schema:
            type: boolean
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_229
                    uid:
                      type: string
                      description: unique identifier of the applet assignment
                    deviceUid:
                      type: string
                      description: unique device identification
                    appletUid:
                      type: string
                      description: unique identifier of the applet
                    appletVersion:
                      type: string
                      description: version of the applet
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    configuration:
                      type: object
                      description: custom configuration that will be passed to the applet
                    active:
                      type: boolean
                      description: applet assignment active status
                  required: &ref_230
                    - uid
                    - deviceUid
                    - appletUid
                    - appletVersion
                    - createdAt
                    - updatedAt
                    - configuration
                    - active
              example:
                - uid: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
                  deviceUid: 42e454d7db4dd54660a4250888b0c73414ef75e33077c51453142
                  appletUid: 5c6e6ba12d1f07811c9ec96433868010bd92ef9d0daf8c7807
                  appletVersion: 1.0.0
                  createdAt: '2021-11-15T13:02:37.833Z'
                  updatedAt: '2021-11-15T13:02:37.833Z'
                  configuration:
                    customKey: customValue
                  active: true
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Device/Applet
      summary: Assign an applet to a device
      description: Assign an applet to a device
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appletUid:
                  type: string
                  description: unique identifier of the applet
                appletVersion:
                  type: string
                  description: version of the applet
                configuration:
                  type: object
                  description: custom configuration that will be passed to the applet
                  additionalProperties: true
                  default: {}
                active:
                  type: boolean
                  description: Set true, if the applet should be immediately made active. This will deactivate all other applets for the device.
                  default: true
              required:
                - appletUid
                - appletVersion
              example:
                appletUid: 5c6e6ba12d1f07811c9ec96433868010bd92ef9d0daf8c7807
                appletVersion: 1.0.0
                configuration:
                  customKey: customValue
                active: true
      responses:
        '200':
          description: Success
          content: *ref_211
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/applet-test/{appletUid}/{appletVersion}:
    put:
      tags:
        - Device/Tests
      summary: Put Device Applet Test with Applet UID and Applet Version
      description: |-
        Sets applet tests by `deviceUid`, `appletUid` and `appletVersion`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
        | `appletUid` | string | required | Unique Applet Identification |
        | `appletVersion` | string (semver) | required | Applet version e.g. 2.0.1 |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                tests:
                  type: array
                  items:
                    type: string
                  minItems: 1
              required:
                - tests
              example:
                tests:
                  - sample1
                  - sample2
                  - sample3
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Device/Tests
      summary: Get Device Applet Test By UID And Applet Version
      description: |-
        Gets the latest applet test results by `deviceUid`, `appletUid` and `appletVersion`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
        | `appletUid` | string | required | Unique Applet Identification |
        | `appletVersion` | string (semver) | required | Applet version e.g. 2.0.1 |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: appletVersion
          in: path
          schema: *ref_21
          required: true
          description: Version of your Applet, e.g. 1.0.12
          example: '{{appletVersion}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  appletUid:
                    type: string
                  appletVersion:
                    type: string
                  deviceUid:
                    type: string
                  pendingTests:
                    type: array
                    items:
                      type: string
                  successfulTests:
                    type: array
                    items:
                      type: string
                  failedTests:
                    type: array
                    items:
                      type: string
                  createdAt:
                    type: string
                    format: date-time
                required:
                  - appletUid
                  - appletVersion
                  - deviceUid
                  - pendingTests
                  - successfulTests
                  - failedTests
                  - createdAt
              example:
                appletUid: d1aa183da1a70ca702f9f58bb991454363e37e3c21a6c1dc42
                appletVersion: 2.0.0
                deviceUid: f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749
                pendingTests:
                  - sample1
                  - sample2
                  - sample3
                successfulTests: []
                failedTests: []
                createdAt: '2022-02-22T18:06:58.628Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/applet/command:
    get:
      tags:
        - Device/Applet Command
      summary: Get Applet Commands
      description: |-
        Get all device applet commands by deviceUid.

        **Max allowed page size is 200**

        *Device applet commands are available for the previous 3 days.*
        *Historical data of all commands is available as ZIP dump at Get Device Reports (Uptime, Applet Commands) endpoint: https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/~1v1~1device~1%7BdeviceUid%7D~1report/get .*

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `deviceUid` | string | required | device unique identification |
        | `appletUid` | string | optional | applet unique identification |
        | `type` | string | optional | your log type - e.g.: MyCms.Content.PlayVideo |
        | `receivedSince` | Date | optional | get all commands since exact date (included) |
        | `receivedUntil` | Date | optional | get all commands till exact date (excluded) |

        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Command object. Field `command` contains the command. Field `commandPayload` contains the same data and is only kept for backwards compatibility. Don't use it.
                  properties: &ref_226
                    command:
                      type: object
                      description: Command object. Must contain at least type. May contain any number of custom properties.
                      properties:
                        type:
                          type: string
                      additionalProperties: true
                      required:
                        - type
                  required: &ref_227
                    - command
                  example: &ref_228
                    command:
                      type: TestCommand
                      customField: customValue
                      anotherField: 123
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Invalid request body
                errorCode: 400018
                errorName: MISSING_TYPE_FIELD_TO_APPLET_COMMAND_READ
                errorDetail: Field type is missing from JSON body thus applet command not to be read
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 403
                message: Access forbidden - Applet not found
                errorCode: 403095
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Applet not found
                errorCode: 404015
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
  /v1/device/{deviceUid}/applet/count:
    get:
      tags:
        - Device/Applet
      summary: Count Applets assigned to a device
      description: Count all applets assigned to a device
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: active
          in: query
          description: Filter by active status
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/applet/{appletUid}/command:
    post:
      tags:
        - Device/Applet Command
      summary: Create Applet Command
      description: |-
        Create device applet command by `deviceUid` & `appletUid` which will be delivered to device current active applet.

        Command may contain any number of custom properties. The only required one is `type` which is used to identify the command.

        Originally the command was sent using the `commandPayload` field, which is now deprecated. The `command` field should be used instead.

        Once the command is sent, it can be received inside the applet using the following customField:

        ```javascript
        sos.command.onCommand((commandEvent) => {
          if (commandEvent.command.type === 'TestCommand') {
            console.log(commandEvent.command.customField)
          }
        });
        ```

        For more information, refer to the [JS API documentation](https://developers.signageos.io/sdk/content/js-command#oncommand).

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device unique identification |
        | `appletUid` | string | required | Applet unique identification |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: Command object. Field `command` contains the command. Field `commandPayload` contains the same data and is only kept for backwards compatibility. Don't use it.
              properties: *ref_226
              required: *ref_227
              example: *ref_228
      security:
        - XAuthOrganization: []
      parameters:
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
    get:
      tags:
        - Device/Applet Command
      summary: Get Applet Commands
      description: |-
        Get commands by `deviceUid` and `appletUid`.

        **Max allowed page size is 200**

        *Device applet commands are available for the previous 3 days.*
        *Historical data of all commands is available as ZIP dump at Get Device Reports (Uptime, Applet Commands) endpoint: https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/~1v1~1device~1%7BdeviceUid%7D~1report/get .*

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `deviceUid` | string | required | device unique identification |
        | `appletUid` | string | required | applet unique identification |
        | `type` | string | optional | your log type - e.g.: MyCms.Content.PlayVideo |
        | `receivedSince` | Date | optional | get all commands since exact date (included) |
        | `receivedUntil` | Date | optional | get all commands till exact date (excluded) |

        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Command object. Field `command` contains the command. Field `commandPayload` contains the same data and is only kept for backwards compatibility. Don't use it.
                  properties: *ref_226
                  required: *ref_227
                  example: *ref_228
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Invalid request body
                errorCode: 400018
                errorName: MISSING_TYPE_FIELD_TO_APPLET_COMMAND_READ
                errorDetail: Field type is missing from JSON body thus applet command not to be read
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 403
                message: Access forbidden - Applet not found
                errorCode: 403095
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Applet not found
                errorCode: 404015
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
  /v1/device/{deviceUid}/applet/{appletUid}/command/{commandUid}:
    get:
      tags:
        - Device/Applet Command
      summary: Get Applet Command By Command UID
      description: |-
        Get one device applet command by `deviceUid`, `appletUid` & `timingCommandUid`.

        Get commands – information on how the device operates or was set – for the specific device. You can access all device logs, including your custom logs, within this API call.

        *Device applet commands are available for the previous 3 days. Historical data of all commands is available at Data report CSV dump.*

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device unique identification |
        | `appletUid` | string | required | applet unique identification |
        | `commandUid` | string | required | Command unique identification |

        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: appletUid
          in: path
          schema: *ref_17
          required: true
          description: Unique Applet Identifier
          example: '{{appletUid}}'
        - name: commandUid
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Command object. Field `command` contains the command. Field `commandPayload` contains the same data and is only kept for backwards compatibility. Don't use it.
                  properties: *ref_226
                  required: *ref_227
                  example: *ref_228
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Invalid request body
                errorCode: 400018
                errorName: MISSING_TYPE_FIELD_TO_APPLET_COMMAND_READ
                errorDetail: Field type is missing from JSON body thus applet command not to be read
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 403
                message: Access forbidden - Applet not found
                errorCode: 403095
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Applet not found
                errorCode: 404015
                errorName: NO_APPLET_TO_APPLET_COMMAND_READ
                errorDetail: No applet found by appletUid specified in URI path
  /v1/device/{deviceUid}/applet/{assignmentUid}:
    get:
      tags:
        - Device/Applet
      summary: Get Applet Assignment
      description: Get one applet assignment for a device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          schema: &ref_231
            type: string
          required: true
          example: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_229
                required: *ref_230
              example:
                uid: 87c7d3391241356f9a7088c70ab6827852077f54ee655eaea9
                deviceUid: 42e454d7db4dd54660a4250888b0c73414ef75e33077c51453142
                appletUid: 5c6e6ba12d1f07811c9ec96433868010bd92ef9d0daf8c7807
                appletVersion: 1.0.0
                createdAt: '2021-11-15T13:02:37.833Z'
                updatedAt: '2021-11-15T13:02:37.833Z'
                configuration:
                  customKey: customValue
                active: true
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Device/Applet
      summary: Update Applet Assignment
      description: Update an applet assignment for a device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          schema: *ref_231
          required: true
          example: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appletVersion:
                  type: string
                  description: version of the applet
                configuration:
                  type: object
                  description: custom configuration that will be passed to the applet
                  additionalProperties: true
                active:
                  type: boolean
                  description: Set true, if the applet should be made active. This will deactivate all other applets for the device.
              example:
                appletVersion: 1.0.0
                configuration:
                  customKey: customValue
                active: true
      responses:
        '200':
          description: Success
          content: *ref_211
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Device/Applet
      summary: Delete Applet Assignment
      description: Delete an applet assignment from device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          schema: *ref_231
          required: true
          example: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
      responses:
        '204':
          description: No content
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/application/version:
    get:
      tags:
        - Device/Application Version and update
      summary: Get History of Device Application Version Changes
      description: Get History of Device Application Version Changes by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: *ref_232
                  required: *ref_233
                  example: *ref_234
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/application/version/count:
    get:
      tags:
        - Device/Application Version and update
      summary: Count Device Application Version Changes
      description: Count how many times Application Version was changed
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/application/version/latest:
    get:
      tags:
        - Device/Application Version and update
      summary: Get latest Device Application Version Change
      description: Get latest Device Application Version Change by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_232
                required: *ref_233
                example: *ref_234
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/application/{applicationType}/version:
    put:
      tags:
        - Device/Application Version and update
      summary: Update Core App Version
      description: Request upgrade of the signageOS Core App version by `deviceUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: string
                  example: '{{applicationVersion}}'
              example:
                version: '{{applicationVersion}}'
              required:
                - version
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: applicationType
          in: path
          schema:
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          required: true
          example: '{{applicationType}}'
      responses:
        '200':
          description: OK message with link in header
          headers: &ref_245
            Link:
              schema:
                type: string
                example: <https://api.signageos.io/v1/policy/611h5cc371d18cgb5c2bo1ecpa8h6f501fodg6ca3do95dc9pf>; rel="result"
              description: Contains URL pointing to the resource
          content: &ref_246
            application/json:
              schema:
                type: object
                properties: *ref_24
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/authentication:
    get:
      tags:
        - Device
      summary: Get Device Authentication Hash
      description: |-
        Get authentication contains the `authHash` for device by `deviceUid`.


        Get device Authentication Hash which is used for device-CMS authentication.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | device application id |
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f8440676dwdaww
                authHash: auth-hash-key
                createdAt: '2021-04-25T19:28:05.835Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404012
                errorName: NO_DEVICE_TO_AUTHENTICATION_READ
                errorDetail: No device found by identity hash specified in URI path thus device authentication not to be read
  /v1/device/{deviceUid}/auto-recovery:
    get:
      tags:
        - Device/AutoRecovery
      summary: Get Device Auto Recovery
      description: Get configuration of device auto recovery process if device supports that
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    deviceUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    succeededAt:
                      type: string
                      format: date-time
                      nullable: true
                      example: '2021-01-30T08:30:00Z'
                    failedAt:
                      type: string
                      format: date-time
                      nullable: true
                      example: '2021-01-30T08:30:00Z'
                    enabled:
                      type: boolean
                    healthcheckIntervalMs:
                      type: integer
                      minimum: 30000
                    autoEnableTimeoutMs:
                      type: integer
                      minimum: 30000
              example:
                - uid: 45e7ebad-2157-4c6a-989e-1b437abba812
                  deviceUid: 5426c8ca-f440-4777-8170-afdefb94ed52
                  createdAt: '2022-01-01T11:00:00.000Z'
                  succeededAt: null
                  failedAt: null
                  enabled: true
                  healthcheckIntervalMs: 30000
                - uid: 973f5fe8-983b-4a78-81e8-22a8d9aca950
                  deviceUid: 5426c8ca-f440-4777-8170-afdefb94ed52
                  createdAt: '2022-01-01T11:00:00.000Z'
                  succeededAt: '2022-01-01T11:00:05.000Z'
                  failedAt: null
                  enabled: false
                  autoEnableTimeoutMs: 30000
                - uid: 2068ae82-4c2e-4fc1-87cf-0f2c09c27ad8
                  deviceUid: 5426c8ca-f440-4777-8170-afdefb94ed52
                  createdAt: '2022-01-01T10:00:00.000Z'
                  succeededAt: null
                  failedAt: '2022-01-01T11:00:05.000Z'
                  enabled: false
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: &ref_235
                  status:
                    type: integer
                  message:
                    type: string
                  errorCode:
                    type: integer
                  errorName:
                    type: string
                  errorDetail:
                    type: string
    put:
      tags:
        - Device/AutoRecovery
      summary: Set Device Auto Recovery
      description: |-
        Set configuration of device auto recovery process if device supports that.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `enabled` | boolean | required | Indicates whether peer recovery should be enabled or disabled |
        | `healthcheckIntervalMs` | integer | required | When auto recovery is enabled, watchdog in node process checks periodically browser process with interval specified in ms. This attribute is required only if `enabled` is `true` |
        | `autoEnableTimeoutMs` | integer | required | When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically. This attribute is required only if `enabled` is `false` |
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: When set to true, process is enabled, otherwise it is disabled
                  example: true
                healthcheckIntervalMs:
                  type: integer
                  minimum: 30000
                  description: When auto recovery is enabled, watchdog in node process checks periodically browser process with interval specified in ms
                  example: 60000
                autoEnableTimeoutMs:
                  type: integer
                  minimum: 30000
                  description: When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically
                  example: 600000
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: &ref_236
                type: string
                example: <https://api.signageos.io/v1/device/:deviceUid/action-log/:actionUid>; rel="result"
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_235
  /v1/device/{deviceUid}/brightness:
    put:
      tags:
        - Device/Brightness
      summary: Update Device Brightness
      description: |-
        Request change device brightness by deviceUid.

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `deviceUid` | string | required | device application id |

        ## Body

        | Field | Type | Description |
        | ------ | ------ | -------- |
        | `brightness1` | number | device brightness in percent 0-100 |
        | `timeFrom1` | HH:MM:SS | starting time for brightness 1 |
        | `brightness2` | number | device brightness in percent 0-100 |
        | `timeFrom2` | HH:MM:SS | starting time for brightness 2 |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                brightness1: 90
                timeFrom1: '09:00:00'
                brightness2: 40
                timeFrom2: '20:00:00'
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404014
                errorName: NO_DEVICE_TO_BRIGHTNESS_SET
                errorDetail: No device found by identity hash specified in URI path thus device brightness not to be set
    get:
      tags:
        - Device/Brightness
      summary: Get Device Brightness
      description: |-
        Get requested device brightness changes by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | device application id |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: 5ec82d905f10070f5b555e3bbe346f8e1f1d559f976070f344
                  deviceUid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2c9613bc
                  createdAt: '2021-04-18T23:44:55.995Z'
                  succeededAt: null
                  failedAt: '2021-04-18T23:44:56.222Z'
                  brightness1: 90
                  brightness2: 40
                  timeFrom1: '09:00:00'
                  timeFrom2: '20:00:00'
                - uid: 1eab00dc17eed54d58cc4cce705bb18ce5505f9411c19f705c
                  deviceUid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2c9613bc
                  createdAt: '2021-04-18T23:44:38.634Z'
                  succeededAt: null
                  failedAt: '2021-04-18T23:44:38.937Z'
                  brightness1: 90
                  brightness2: 40
                  timeFrom1: '09:00:00'
                  timeFrom2: '20:00:00'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404014
                errorName: NO_DEVICE_TO_BRIGHTNESS_SET
                errorDetail: No device found by identity hash specified in URI path thus device brightness not to be set
  /v1/device/{deviceUid}/connect:
    post:
      summary: Connect a device to an applet
      description: Connect a device to an applet. It is used for local development of applets. It is also used by the signageOS CLI to connect a device to an applet.
      tags:
        - Device/Connect
      parameters:
        - name: x-auth
          in: header
          schema: &ref_239
            type: string
          description: Authorization key and token
          example: '{{x-auth}}'
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              oneOf:
                - title: Connect with appletPublicUrl
                  required:
                    - appletPublicUrl
                    - appletUid
                    - appletVersion
                  properties:
                    appletUid:
                      type: string
                    appletVersion:
                      type: string
                    appletPublicUrl:
                      type: string
                - title: Connect with remoteIp
                  required:
                    - remoteIp
                    - appletUid
                    - appletVersion
                  properties:
                    appletUid:
                      type: string
                    appletVersion:
                      type: string
                    remoteIp:
                      type: string
      responses:
        '200':
          description: Success
          content: *ref_211
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/custom-script:
    put:
      tags:
        - Device/Custom Script
      summary: Execute Device Custom on Device
      description: Execute Device Custom on Device.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                customScriptUid:
                  type: string
                version:
                  type: string
                configuration:
                  type: object
                  additionalProperties: true
              required:
                - customScriptUid
                - version
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Device/Custom Script
      summary: Get History of Device Custom Script Executions
      description: Get History of Device Custom Script Executions.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: customScriptUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by Custom Script UIDs
          example:
            - 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
        - name: versions
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by Custom Script Versions
          example:
            - 1.0.0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: *ref_237
                  required: *ref_238
              example:
                - uid: 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
                  customScriptUid: 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
                  version: 1.0.0
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  configuration:
                    volume: 90
                  createdAt: '2021-04-30T01:31:35.756Z'
                  failedAt: '2021-04-30T01:31:35.955Z'
                - uid: 8020ec86df621d014c1703d9733d17fd4077bf41d61a551f21
                  customScriptUid: 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
                  version: 1.0.0
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  configuration:
                    volume: 50
                  createdAt: '2021-04-30T01:30:33.709Z'
                  succeededAt: '2021-04-30T01:30:34.103Z'
                  result:
                    runtime: browser
                    stream:
                      - pipeline: stdout
                        timestamp: 1619748634709
                        data: Hello World
                      - pipeline: stderr
                        timestamp: 1619748634709
                        data: Error
                    exitCode: 0
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/custom-script/count:
    get:
      tags:
        - Device/Custom Script
      summary: Count Device Custom Script Executions
      description: Count how many times Custom Scripts were executed on a Device.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content: *ref_152
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/custom-script/latest:
    get:
      tags:
        - Device/Custom Script
      summary: Get latest Device Custom Script Execution
      description: Get latest Device Custom Script Execution.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_237
                required: *ref_238
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/debug:
    put:
      tags:
        - Device/Debug
      summary: Set Device Debug
      description: |-
        Request begin device debug mode by `deviceUid`. Set debug flag for device to enable remote debugging.

        * Read more about [Native Debug specific details in our Knowledge base](https://docs.signageos.io/hc/en-us/articles/4413935787154-Applet-Native-Device-Debug).
        * Read more about [Applet/Weinre Debug specific details in our Knowledge base](https://docs.signageos.io/hc/en-us/articles/4405238849938).

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device application id |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | Description |
        | --- | --- | --- |
        | `appletEnabled` | boolean | Enable weinre for device inside Applet |
        | `nativeEnabled` | boolean | Enable native debug |

        ### Note 1

        **Applet** debug settings is only on-demand. So when you set it, the inspection tool is started. Once you do the REBOOT, RESTART, RELOAD or REFRESH power action, the tool is stopped & you must set debug again (turn it off then on again in BOX).

        ### Note 2

        **Native** debug settings behavior differs in every device OS brand (SSSP, Tizen, WebOS1,2+, Android etc.). Here are mentioned a little differences however for more info you can look at official documentation of display manufacturer.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                appletEnabled: true
                nativeEnabled: false
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404018
                errorName: NO_DEVICE_TO_DEBUG_SETTINGS_SET
                errorDetail: No device found by identity hash specified in URI path thus debug settings not to be set
    get:
      tags:
        - Device/Debug
      summary: Get Device Debug
      description: |-
        Get begin device debug mode requests by deviceUid

        ## Parameters

        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `deviceUid` | string | required | device application id |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: b9659c67b7045168ca20bb3c99abc60cb420e8d7f49a91f71e
                  deviceUid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2c9613bc
                  createdAt: '2021-04-18T23:46:13.024Z'
                  succeededAt: null
                  failedAt: '2021-04-18T23:46:13.248Z'
                  appletEnabled: true
                  nativeEnabled: false
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404017
                errorName: NO_DEVICE_TO_DEBUG_SETTINGS_READ
                errorDetail: No device found by identity hash specified in URI path thus debug settings not to be read
  /v1/device/{deviceUid}/deprovision:
    put:
      tags:
        - Device/Provisioning, Adding and removing devices
      summary: Deprovision/remove Device
      description: |-
        Unpair device by device UID and reset content
        Deprovision device (removes device organization and removes device verification).
        *   [How to deprovision device via Box or REST API](https://docs.signageos.io/hc/en-us/articles/4405239243922)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: ''
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: Success
          content: *ref_211
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/disconnect:
    post:
      summary: Disconnect a device from an applet
      description: Disconnect a device from an applet. It is used for local development of applets. It is also used by the signageOS CLI to disconnect a device from an applet.
      tags:
        - Device/Connect
      parameters:
        - name: x-auth
          in: header
          schema: *ref_239
          description: Authorization key and token
          example: '{{x-auth}}'
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: Success
          content: *ref_211
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/extended-management:
    put:
      tags:
        - Device/Extended Management Remote Server
      summary: Update extended management remote server URL
      description: |-
        Set device extended management remote server URL on the device by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |

        ## Body

        content-type: application/json or application/x-www-form-urlencoded

        | Field | Type | Description |
        | --- | --- | --- |
        | `url` | string | Device extended management remote server URL |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                url: https://www.google.com
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404042
                errorName: NO_DEVICE_TO_RM_SERVER
                errorDetail: No device found by identity hash specified by identity hash specified in URI path
    get:
      tags:
        - Device/Extended Management Remote Server
      summary: Get extended management remote server URL
      description: |-
        Get device extended management remote server URL on the device by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                uid: 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
                deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                createdAt: '2021-04-30T01:31:35.756Z'
                succeededAt: null
                failedAt: '2021-04-30T01:31:35.955Z'
                url: https://www.google.com
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404042
                errorName: NO_DEVICE_TO_RM_SERVER
                errorDetail: No device found by identity hash specified by identity hash specified in URI path
  /v1/device/{deviceUid}/feature-test:
    put:
      tags:
        - Device/Tests
      summary: Put Device Feature Test
      description: |-
        Sets device feature tests by `deviceUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                tests:
                  - cache
                  - display
                  - battery
                  - audio
                  - display
                  - file_system
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '204':
          description: No Content
          content:
            text/plain:
              schema:
                type: string
              example: "#\_Empty response"
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404062
                errorName: NO_DEVICE_TO_DEVICE_TEST_CREATE
                errorDetail: No device found by identity hash specified in URI path thus device feature tests not to be created
    get:
      tags:
        - Device/Tests
      summary: Get Device Feature Test
      description: |-
        Get the latest device feature tests by `deviceUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                deviceUid: f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749
                pendingTests: []
                successfulTests:
                  - cache
                  - audio
                  - display
                failedTests:
                  - file_system
                testResults:
                  cache:
                    title: cache
                    total: 2
                    successful: 2
                    failed: 0
                    skipped: 0
                    test:
                      - beforeEach: []
                        test:
                          title: should test cacheGet, cacheGetAll, cacheDelete
                          skipped: false
                          failed: false
                          duration: 27
                        afterEach: []
                      - beforeEach: []
                        test:
                          title: should test cacheGetStorageInfo
                          skipped: false
                          failed: false
                          duration: 5
                        afterEach: []
                    describe: []
                    before: []
                    after: []
                    duration: 32
                  audio:
                    title: audio
                    total: 1
                    successful: 1
                    failed: 0
                    skipped: 0
                    test:
                      - beforeEach: []
                        test:
                          title: Should set the volume
                          skipped: false
                          failed: false
                          duration: 160
                        afterEach: []
                    describe: []
                    before: []
                    after: []
                    duration: 160
                  battery:
                    title: battery
                    total: 1
                    successful: 0
                    failed: 0
                    skipped: 1
                    test:
                      - beforeEach: []
                        test:
                          title: Should get battery status
                          skipped: true
                          failed: false
                          duration: 3
                          reason: The device does not provide "BATTERY_STATUS" capability
                        afterEach: []
                    describe: []
                    before: []
                    after: []
                    duration: 3
                  display:
                    title: display
                    total: 2
                    successful: 2
                    failed: 0
                    skipped: 0
                    test:
                      - beforeEach: []
                        test:
                          title: Should power on/off display
                          skipped: false
                          failed: false
                          duration: 204
                        afterEach: []
                      - beforeEach: []
                        test:
                          title: Should set the screen brightness
                          skipped: false
                          failed: false
                          duration: 152
                        afterEach: []
                    describe: []
                    before: []
                    after: []
                    duration: 356
                  file_system:
                    title: file_system
                    total: 51
                    successful: 45
                    failed: 1
                    skipped: 5
                    test: []
                    describe:
                      - title: testing with internalStorageUnit
                        total: 48
                        successful: 45
                        failed: 1
                        skipped: 2
                        test:
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test GetFile
                              skipped: false
                              failed: false
                              duration: 1327
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test GetFileNotExistsFail
                              skipped: false
                              failed: false
                              duration: 12
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test WriteFile
                              skipped: false
                              failed: false
                              duration: 688
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test WriteFileAlreadyExistsOverrides
                              skipped: false
                              failed: false
                              duration: 589
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test AppendFile
                              skipped: false
                              failed: false
                              duration: 603
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test AppendFileAlreadyExistsAppends
                              skipped: false
                              failed: false
                              duration: 604
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test IsDirectory
                              skipped: false
                              failed: false
                              duration: 366
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test IsDirectoryIfNotExistingFail
                              skipped: false
                              failed: false
                              duration: 28
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DeleteFile
                              skipped: false
                              failed: false
                              duration: 418
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DeleteDirectory
                              skipped: false
                              failed: false
                              duration: 56
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DeleteDirectoryRecursively
                              skipped: false
                              failed: false
                              duration: 395
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DeleteDirectoryNotRecursivelyFail
                              skipped: false
                              failed: false
                              duration: 406
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DeleteFileNotExistingFail
                              skipped: false
                              failed: false
                              duration: 44
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CreateDirectory
                              skipped: false
                              failed: false
                              duration: 50
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CreateDirectoryFailIfAlreadyExists
                              skipped: false
                              failed: false
                              duration: 9
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CreateDirectoryFailIfCreatingNested
                              skipped: false
                              failed: false
                              duration: 20
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DownloadFile
                              skipped: false
                              failed: false
                              duration: 377
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DownloadTextFile
                              skipped: false
                              failed: false
                              duration: 900
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DownloadOverridesOriginalFile
                              skipped: false
                              failed: false
                              duration: 1861
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DownloadToNotExistingContainingDirectoryFail
                              skipped: false
                              failed: false
                              duration: 13
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test DownloadToExistingDirectoryPathFail
                              skipped: false
                              failed: false
                              duration: 95
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test ListFiles
                              skipped: false
                              failed: false
                              duration: 741
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test ListFilesOfNotExistingDirectoryFail
                              skipped: false
                              failed: false
                              duration: 15
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test ListFilesOfFileFail
                              skipped: false
                              failed: false
                              duration: 353
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CopyFile
                              skipped: false
                              failed: false
                              duration: 504
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CopyDirectory
                              skipped: false
                              failed: false
                              duration: 597
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CopyFileToAlreadyExistingPathOverwrite
                              skipped: false
                              failed: false
                              duration: 187
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CopyDirectoryToAlreadyExistingPathOverwrite
                              skipped: false
                              failed: false
                              duration: 340
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CopyFileToAlreadyExistingPathFail
                              skipped: false
                              failed: false
                              duration: 711
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CopyFileToNotExistingContainingPathFail
                              skipped: false
                              failed: false
                              duration: 399
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test CopyFileFromNotExistingPathFail
                              skipped: false
                              failed: false
                              duration: 57
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test MoveFile
                              skipped: false
                              failed: false
                              duration: 461
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test MoveDirectory
                              skipped: false
                              failed: false
                              duration: 507
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test MoveFileToAlreadyExistingPathFail
                              skipped: false
                              failed: false
                              duration: 705
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test MoveFileToAlreadyExistingPathOverwrite
                              skipped: false
                              failed: false
                              duration: 151
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test MoveDirectoryToAlreadyExistingPathOverwrite
                              skipped: false
                              failed: false
                              duration: 236
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test MoveFileToNotExistingContainingPathFail
                              skipped: false
                              failed: false
                              duration: 415
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test MoveFileFromNotExistingPathFail
                              skipped: false
                              failed: false
                              duration: 41
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test LinkFile
                              skipped: true
                              failed: false
                              duration: 4
                              reason: Device doesn't provide FILE_SYSTEM_LINK capability
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test testLinkFileToExistingPathFail
                              skipped: true
                              failed: false
                              duration: 5
                              reason: Device doesn't provide FILE_SYSTEM_LINK capability
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test GetFileChecksum
                              skipped: false
                              failed: false
                              duration: 473
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test GetFileChecksum on problematic files
                              skipped: false
                              failed: true
                              duration: 3648
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test GetFileChecksumOfNotExistingFileFail
                              skipped: false
                              failed: false
                              duration: 17
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test GetFileChecksumOfDirectoryFail
                              skipped: false
                              failed: false
                              duration: 16
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test ExtractFileZip
                              skipped: false
                              failed: false
                              duration: 2790
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test ExtractFileZipOverridesExisting
                              skipped: false
                              failed: false
                              duration: 2968
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test ExtractFileZipIfArchiveNotExistsFail
                              skipped: false
                              failed: false
                              duration: 158
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                          - beforeEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                            test:
                              title: should test ExtractFileZipIfTargetNotExists
                              skipped: false
                              failed: false
                              duration: 363
                            afterEach:
                              - title: clear test directory
                                skipped: false
                                failed: false
                                duration: 0
                        describe: []
                        before:
                          - title: Has internal storage unit?
                            skipped: false
                            failed: false
                            duration: 0
                        after: []
                        duration: 25723
                      - title: testing with externalStorageUnit
                        total: 1
                        successful: 0
                        failed: 0
                        skipped: 1
                        test: []
                        describe: []
                        before:
                          - title: Has external storage unit?
                            skipped: true
                            failed: false
                            duration: 0
                            reason: No.
                        after: []
                        duration: 0
                      - title: testing from externalStorageUnit to internalStorageUnit
                        total: 1
                        successful: 0
                        failed: 0
                        skipped: 1
                        test: []
                        describe: []
                        before:
                          - title: Has internal *and* external storage units?
                            skipped: true
                            failed: false
                            duration: 0
                            reason: No.
                        after: []
                        duration: 0
                      - title: testing from internalStorageUnit to externalStorageUnit
                        total: 1
                        successful: 0
                        failed: 0
                        skipped: 1
                        test: []
                        describe: []
                        before:
                          - title: Has internal *and* external storage units?
                            skipped: true
                            failed: false
                            duration: 0
                            reason: No.
                        after: []
                        duration: 0
                    before:
                      - title: Has internal *or* external storage unit?
                        skipped: false
                        failed: false
                        duration: 0
                    after: []
                    duration: 25723
                createdAt: '2022-02-22T17:57:12.433Z'
                finishedAt: '2022-02-22T17:57:46.024Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404060
                errorName: NO_DEVICE_TO_DEVICE_TEST_READ
                errorDetail: No device found by identity hash specified in URI path thus list of device feature tests not to be read
  /v1/device/{deviceUid}/firmware:
    put:
      tags:
        - Device/Firmware
      summary: Update Device Firmware
      description: |-
        Request change device firmware version by `deviceUid`.


        Set/upgrade Firmware version of a device.

        *   [Available firmware versions](https://docs.signageos.io/hc/en-us/sections/4405700629266-Supported-Devices) are listed in Supported devices section. This feature is dangerous. You must be sure that a device will be kept on during upgrading. Otherwise, it can be irrecoverably broken and needs to be repaired by a vendor.
        *   Downgrading is available only for devices by some vendors - LG webOS, BrightSign
        *   Read more about [Firmwares, upgrade options and other important items](https://docs.signageos.io/hc/en-us/articles/4405381525906)

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device uid |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | Description |
        | --- | --- | --- |
        | `version` | string ex.: T-HKMLAKUC-2020.5 | Version of FW you want to upgrade to. Versions layout differs vendor to vendor. |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                version: x86_64
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404014
                errorName: NO_DEVICE_TO_DEBUG_SET
                errorDetail: No device found by identity hash specified in URI path thus device debug not to be set
    get:
      tags:
        - Device/Firmware
      summary: Get Device Firmware
      description: |-
        Get last changed device firmware version requested to deviceUid.
        Get Firmware version last successfully sent to the device.

        *   Read more about [Firmwares, upgrade options and other important items](https://docs.signageos.io/hc/en-us/articles/4405381525906)

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | device application id |
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                uid: DEVICE_CREATE_UID:d342377e18f83bc08d76c44e8b35c05c4e786f2bd3f7aeb42d
                deviceUid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2c9613bc
                createdAt: '2021-04-18T22:26:39.405Z'
                succeededAt: null
                failedAt: null
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - device not found
                errorCode: 404022
                errorName: NO_DEVICE_TO_FIRMWARE_VERSION_READ
                errorDetail: No device found by identity hash specified in URI path thus device firmware version not to be read
  /v1/device/{deviceUid}/get-plugin/{pluginUid}:
    put:
      tags:
        - Device/Plugin
      summary: Get Plugin property from Device
      description: Sends a "get property" command to a specific plugin on a specific device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: pluginUid
          in: path
          required: true
          schema: &ref_265
            type: string
          description: Unique plugin identification
          example: plugin_abc123def456
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/get-runner/{runnerUid}:
    put:
      tags:
        - Device/Runner
      summary: Get Runner property from Device
      description: Sends a "get property" command to a specific runner on a specific device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: runnerUid
          in: path
          required: true
          schema: &ref_266
            type: string
          description: Unique runner identification
          example: runner_abc123def456
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/hourly-connected-status:
    get:
      tags:
        - Device/Monitoring
      summary: Get Device Hourly Connected Status
      description: |-
        **DEPRECATED in favor of:**

        [https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/~1v1~1device~1%7BdeviceUid%7D~1report/get](https://developers.signageos.io/api/#tag/DeviceMonitoring/paths/~1v1~1device~1%7BdeviceUid%7D~1report/get)

        and

        [https://developers.signageos.io/api/#tag/DeviceApplet-Command](https://developers.signageos.io/api/#tag/DeviceApplet-Command)

        Get all device connected status grouped hourly by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device unique identification |
        | `from` | Date | optional | Get all statistics from exact date (included) |
        | `to` | Date | optional | Get all statistics to exact date (included) |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: 6288c2cf6ffc335b92b9e8022a69d752bfe1f6d1c6d5724d1f
                  createdAt: '2021-04-25T20:28:02.420Z'
                  deviceIdentityHash: some-device-hash
                  from: '2021-04-25T19:00:00.000Z'
                  to: '2021-04-25T19:59:59.999Z'
                  time: 1903872
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404026
                errorName: NO_DEVICE_HOURLY_CONNECTED_STATUS_READ
                errorDetail: No device found by identity hash specified in URI path thus device hourly connected status not to be read
  /v1/device/{deviceUid}/location/{locationUid}:
    get:
      tags:
        - Device/Location
      summary: Get Location for Device
      description: Get Location for Device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: locationUid
          in: path
          schema: &ref_240
            type: string
          required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: &ref_348
                  uid:
                    type: string
                  name:
                    type: string
                  feature:
                    type: object
                    properties:
                      type:
                        type: string
                      properties:
                        type: object
                        properties:
                          name:
                            type: string
                          amenity:
                            type: string
                          popupContent:
                            type: string
                      geometry:
                        type: object
                        properties:
                          type:
                            type: string
                          coordinates:
                            type: array
                            items:
                              type: number
                  city:
                    type: string
                  countryCode:
                    type: string
                  organizationUid:
                    type: string
                  customId:
                    type: string
                  attachments:
                    type: array
                    items:
                      type: string
                  description:
                    type: string
                  tagUids:
                    type: array
                    items:
                      type: string
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  deletedAt:
                    description: Field `deletedAt` is included in the response only when the query parameter `deleted=true` is specified — i.e., when you want to fetch deleted locations.
                    type: string
                    format: date-time
                  deletedBy:
                    description: Field `deletedBy` is included in the response only when the query parameter `deleted=true` is specified — i.e., when you want to fetch deleted locations.
                    type: object
                    properties: *ref_157
                required: &ref_349
                  - uid
                  - name
                  - feature
                  - organizationUid
                  - city
                  - countryCode
                  - createdAt
                  - updatedAt
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Device/Location
      summary: Assign Device to Location
      description: Assign Device to Location
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: locationUid
          in: path
          schema: *ref_240
          required: true
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Device/Location
      summary: Unassign Location from Device
      description: Unassign Location from Device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: locationUid
          in: path
          schema: *ref_240
          required: true
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/organization:
    put:
      tags:
        - Device/Organization
      summary: Set Device Organization
      description: |-
        This method sets device to a selected organization by `organizationUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organizationUid:
                  type: string
                  description: Organization UID
              example:
                organizationUid: '{{organizationUid}}'
      security:
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '204':
          description: No Content
          content:
            text/plain:
              schema:
                type: string
              example: '# Empty response'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404126
                errorName: NO_DEVICE_TO_ORGANIZATION_SET
                errorDetail: No device specified by uid in URI path found thus organization of device not to be set
  /v1/device/{deviceUid}/package-install:
    put:
      tags:
        - Device/Packages
      summary: Install Device Package
      description: |-
        Install a package with specific version to device by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device application id |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | **Required** | Description |
        | --- | --- | --- | --- |
        | `packageName` | string | required | PackageName of package to install |
        | `version` | string | required | Version (typically semver) of package to install |
        | `build` | string | optional | Build tag of package version to install. Typically architecture (arm, x386, x64 or versionCode for Android) |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                packageName: com.google.android.webview
                version: 1.0.0
                build: '1000000000'
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404028
                errorName: NO_DEVICE_TO_PACKAGE_INSTALL
                errorDetail: No device found by identity hash specified in URI path thus device package not to be installed
    get:
      tags:
        - Device/Packages
      summary: Get Installed Device Packages
      description: |-
        Get package installs for device by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device application id |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: e61b03564612eaafc9e06c4020f23b40062268d66e40766cd5
                  deviceUid: b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671
                  createdAt: '2022-01-24T13:17:19.592Z'
                  succeededAt: '2022-01-24T13:17:38.446Z'
                  failedAt: null
                  packageName: signal-private-messenger-06f3c83
                  version: 5.0.8
                  build: null
                - uid: a05ed2092745601f18714a0ab957ffc9d3410af822801b4107
                  deviceUid: b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671
                  createdAt: '2022-01-24T13:01:44.612Z'
                  succeededAt: null
                  failedAt: null
                  packageName: signal-private-messenger-06f3c83
                  version: 5.0.8
                  build: null
                - uid: be8f336cc2981ecb9880c7272e5ef00a1d0cb117d4eead0ae3
                  deviceUid: b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671
                  createdAt: '2022-01-22T19:41:16.617Z'
                  succeededAt: '2022-01-22T19:41:19.045Z'
                  failedAt: null
                  packageName: cloud-control-sample-app-fd421f9
                  version: 0.2.0
                  build: null
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404027
                errorName: NO_DEVICE_TO_PACKAGE_INSTALLATION_READ
                errorDetail: No device found by identity hash specified in URI path thus device package installation not to be read
  /v1/device/{deviceUid}/package-start:
    put:
      tags:
        - Device/Packages
      summary: Start Installed Device Package
      description: |-
        Start specified package installation on device by `deviceUid`.

        # Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device application id |
        | `packageName` | string | required | Name of the package to start |
      requestBody:
        content: {}
      security:
        - XAuthOrganization: []
      parameters:
        - name: packageName
          in: query
          schema:
            type: string
          example: '{{packageName}}'
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404029
                errorName: NO_DEVICE_TO_PACKAGE_START
                errorDetail: No device found by identity hash specified in URI path thus device package not to be started
    get:
      tags:
        - Device/Packages
      summary: Get Started Device Packages
      description: |-
        Get package starts for device by `deviceUid`

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device application id |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: e61b03564612eaafc9e06c4020f23b40062268d66e40766cd5
                  deviceUid: b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671
                  createdAt: '2022-01-24T13:17:19.592Z'
                  succeededAt: '2022-01-24T13:17:38.446Z'
                  failedAt: null
                  packageName: signal-private-messenger-06f3c83
                  version: 5.0.8
                  build: null
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404030
                errorName: NO_DEVICE_TO_PACKAGE_STARTS_READ
                errorDetail: No device found by identity hash specified in URI path thus device package starts list not to be read
  /v1/device/{deviceUid}/peer-recovery:
    get:
      tags:
        - Device/PeerRecovery
      summary: Get Device Peer Recovery
      description: Get peer recovery settings history of a single device.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    deviceUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    succeededAt:
                      type: string
                      format: date-time
                      nullable: true
                      example: '2021-01-30T08:30:00Z'
                    failedAt:
                      type: string
                      format: date-time
                      nullable: true
                      example: '2021-01-30T08:30:00Z'
                    enabled:
                      type: boolean
                    autoEnableTimeoutMs:
                      type: integer
                      minimum: 30000
              example:
                - uid: 45e7ebad-2157-4c6a-989e-1b437abba812
                  deviceUid: 5426c8ca-f440-4777-8170-afdefb94ed52
                  createdAt: '2022-01-01T11:00:00.000Z'
                  succeededAt: null
                  failedAt: null
                  enabled: false
                - uid: 973f5fe8-983b-4a78-81e8-22a8d9aca950
                  deviceUid: 5426c8ca-f440-4777-8170-afdefb94ed52
                  createdAt: '2022-01-01T11:00:00.000Z'
                  succeededAt: '2022-01-01T11:00:05.000Z'
                  failedAt: null
                  enabled: false
                  autoEnableTimeoutMs: 30000
                - uid: 2068ae82-4c2e-4fc1-87cf-0f2c09c27ad8
                  deviceUid: 5426c8ca-f440-4777-8170-afdefb94ed52
                  createdAt: '2022-01-01T10:00:00.000Z'
                  succeededAt: null
                  failedAt: '2022-01-01T11:00:05.000Z'
                  enabled: true
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_235
              example:
                status: 404
                message: Resource not found - Device with uid undefined not found
                errorCode: 404166
                errorName: DEVICE_NOT_FOUND_GET_PEER_RECOVERY
                errorDetail: No device found by `deviceUid` specified in URI path thus device peer recovery can't be fetched
    put:
      tags:
        - Device/PeerRecovery
      summary: Update Device Peer Recovery
      description: |-
        Set device peer recovery on the device by `deviceUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `enabled` | boolean | required | Indicates whether peer recovery should be enabled or disabled |
        | `urlLauncherAddress` | string | required | When peer recovery is enabled, this URL address has to be set in URL launcher on device that is recovered. This attribute is required only if `enabled` is `true` |
        | `autoEnableTimeoutMs` | integer | required | When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically. This attribute is required only if `enabled` is `false` |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: Indicates whether peer recovery should be enabled or disabled
                  example: true
                urlLauncherAddress:
                  type: string
                  description: When peer recovery is enabled, this URL address has to be set in URL launcher on device that is recovered
                  example: https://t.signageos.io
                autoEnableTimeoutMs:
                  type: integer
                  minimum: 30000
                  description: When peer recovery is disabled, a time period in ms can be specified, after which the process is enabled automatically
                  example: 600000
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_235
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404168
                errorName: DEVICE_NOT_FOUND_SET_PEER_RECOVERY
                errorDetail: No device found by `deviceUid` specified in URI path thus device peer recovery can't be set
  /v1/device/{deviceUid}/pin-code:
    get:
      tags:
        - Device/Pin code and security
      summary: Get Device Pin
      description: |-
        Get device PIN code if already exists by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique device identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                deviceUid: device-uid
                pinCode: '8379'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - No pin code found
                errorCode: 404032
                errorName: NO_DEVICE_PIN_CODE_TO_READ
                errorDetail: No pin code found although specified device was found
    post:
      tags:
        - Device/Pin code and security
      summary: (coming soon)
      description: |-
        A request to the device to refresh the pin. A new pin will then be sent back from the device to the server asynchronously and will eventually be available to GET.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique device identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/device/{deviceUid}/plugin:
    get:
      tags:
        - Device/Plugin
      summary: List device plugins
      description: Retrieves all plugins assigned to a specific device with their assigned versions
      security:
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: status
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - active
                - error
          description: Filter by plugin status on device
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_241
                    uid:
                      type: string
                      readOnly: true
                    pluginUid:
                      type: string
                    version:
                      type: string
                    deviceUid:
                      type: string
                    configuration:
                      type: object
                      additionalProperties: true
                    status:
                      type: string
                      enum:
                        - active
                        - error
                      default: active
                    createdAt:
                      type: string
                      format: date-time
                      readOnly: true
                    updatedAt:
                      type: string
                      format: date-time
                      readOnly: true
                  required: &ref_242
                    - uid
                    - pluginUid
                    - version
                    - deviceUid
                    - createdAt
              example:
                - uid: xyz123456789
                  deviceUid: device123
                  pluginUid: abc123def456
                  version: 1.2.0
                  status: active
                  createdAt: '2024-01-25T09:15:00.000Z'
                  updatedAt: '2024-01-25T09:20:00.000Z'
                  configuration:
                    volume: 90
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Device/Plugin
      summary: Assign plugin to device
      description: Creates a new plugin assignment for a specific device
      security:
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                pluginUid:
                  type: string
                version:
                  type: string
                configuration:
                  type: object
                  additionalProperties: true
              required:
                - pluginUid
                - version
            example:
              pluginUid: abc123def456
              version: 1.2.0
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/plugin/{assignmentUid}:
    get:
      tags:
        - Device/Plugin
      summary: Get Plugin Assignment
      description: Retrieves a specific plugin assignment to a specific device
      security:
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          required: true
          schema: &ref_243
            type: string
          description: Unique plugin-to-device assignmentx identification
          example: abc123def456
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_241
                required: *ref_242
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Device/Plugin
      summary: Update Plugin Assignment
      description: Updates an existing plugin assignment for a specific device
      security:
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          required: true
          schema: *ref_243
          description: Unique plugin-to-device assignmentx identification
          example: abc123def456
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: string
                configuration:
                  type: object
                  additionalProperties: true
                configurationSet:
                  type: object
                  description: For partial update of plugin configuration. Cannot be used together with configuration in same request
                configurationRemoveKeys:
                  type: array
                  items:
                    type: string
                  description: For removing parts of plugin configuration. Cannot be used together with configuration in same request
                pluginUid:
                  type: string
              required:
                - pluginUid
            example:
              pluginUid: abc123def456
              version: 1.1.0
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Device/Plugin
      summary: Delete Plugin Assignment
      description: Deletes a specific plugin assignment from a device
      security:
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          required: true
          schema: *ref_243
          description: Unique plugin-to-device assignmentx identification
          example: abc123def456
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/policy:
    get:
      tags:
        - Device/Policy
      summary: Get Device Policies
      description: |-
        Get policies currently assigned to the device by `deviceUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: 7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1
                  priority: 1
                  assignedAt: '2022-02-21T17:04:31.711Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device was not found
                errorCode: 404019
                errorName: NO_DEVICE_TO_READ_ERROR
                errorDetail: No device found by properties specified in query string
    post:
      tags:
        - Device/Policy
      summary: Assign Policy to Device
      description: |-
        Assign policy to device by `deviceUid` and `policyUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |

        ## Body

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `uid` | string | Required | Uid of Policy to be assigned to the Device |
        | `priority` | number | Required | Priority of the policy regarding the Device. Higher the number higher the priority. If multiple policies assigned conflicting policy item will be set by the Policy with higher priority. |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                uid: '{{policyUid}}'
                priority: 1
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/device/{deviceUid}/policy-merged:
    get:
      tags:
        - Device
        - Policy
      summary: Get Merged Policy Items for Device
      description: Returns the pre-calculated merged (compiled) policy items for a device. When multiple policies are assigned to a device with different priorities, this endpoint returns the winning value for each policy item type after priority resolution. Higher priority wins; same priority uses latest assignment time as tiebreaker.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    deviceUid:
                      type: string
                      description: UID of the device this merged item belongs to
                    organizationUid:
                      type: string
                      description: UID of the organization that owns the device
                    type:
                      type: string
                      description: The policy item type (e.g. VOLUME, BRIGHTNESS, ORIENTATION, etc.) that this merged item represents
                    value:
                      description: The winning value for this type after priority resolution. Structure depends on the type.
                      oneOf:
                        - title: PolicyItemValueObject
                          type: object
                          additionalProperties: true
                        - title: PolicyItemValueArray
                          type: array
                          items:
                            type: object
                            additionalProperties: true
                    policyUid:
                      type: string
                      description: UID of the policy that "won" for this type
                    priority:
                      type: integer
                      description: Priority of the winning policy
                    policyUpdatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    assignedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required:
                    - deviceUid
                    - organizationUid
                    - type
                    - value
                    - policyUid
                    - priority
                    - policyUpdatedAt
                    - assignedAt
                    - createdAt
                    - updatedAt
                  additionalProperties: false
                  example:
                    deviceUid: 3ca5f4085f0ef12c4d403a1581350789b850a7b16805e8d8dc
                    organizationUid: 9fefb9905b6195c5f77062a40c6fee79abc0
                    type: VOLUME
                    value:
                      volume: 75
                    policyUid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                    priority: 5
                    policyUpdatedAt: '2021-03-30T18:57:33.669Z'
                    assignedAt: '2021-03-30T18:57:33.669Z'
                    createdAt: '2021-03-30T18:57:33.669Z'
                    updatedAt: '2021-03-30T18:57:33.669Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/policy-status:
    get:
      tags:
        - Device/Policy Status
      summary: Get Device Policy Status List
      description: |-
        Get a list of all active policy properties assigned on a device by `deviceUid`, `policyUid` and `itemType`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |
        | `policyUid` | string | Required | Unique Policy Identification |
        | `itemType` | string | Required | Type of policy e.g. `VOLUME`. |
      security:
        - XAuthOrganization: []
      parameters:
        - name: policyUid
          in: query
          schema:
            type: string
          example: '{{policyUid}}'
        - name: itemType
          in: query
          schema:
            type: string
          example: BRIGHTNESS
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            undefined:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
              example:
                deviceUid: b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671
                policyUid: 7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1
                itemType:
                  - type: BRIGHTNESS
                    value:
                      - brightness: 36
                        time: '16:56'
                updatedAt: '2021-06-16T07:51:06.917Z'
  /v1/device/{deviceUid}/policy-status/{policyUid}/item/{itemType}:
    get:
      tags:
        - Device/Policy Status
      summary: Get Device Policy Status
      description: |-
        Get active policy properties assigned on a device by `deviceUid`, `policyUid` and `itemtype`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |
        | `policyUid` | string | Required | Unique Policy Identification |
        | `itemType` | string | Required | Type of policy e.g. `VOLUME`. |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: policyUid
          in: path
          schema: &ref_244
            type: string
          required: true
          example: '{{policyUid}}'
        - name: itemType
          in: path
          schema:
            type: string
          required: true
          example: BRIGHTNESS
      responses:
        '200':
          description: OK
          headers:
            undefined:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
              example:
                deviceUid: b8d99e785d90251a459e838888b0649c8754bf77f50b02c18b671
                policyUid: 7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1
                itemType:
                  type: BRIGHTNESS
                  value:
                    - brightness: 36
                      time: '16:56'
                updatedAt: '2021-06-16T07:51:06.917Z'
  /v1/device/{deviceUid}/policy/{policyUid}:
    get:
      tags:
        - Device/Policy
      summary: Get Device Policy
      description: |-
        Get detail of policy assigned to the device by `deviceUid` and `policyUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |
        | `policyUid` | string | Required | Unique Policy Identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: policyUid
          in: path
          schema: *ref_244
          required: true
          example: '{{policyUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                uid: 7a4741c842c86c7221ac662899272f7467ecbf30fb8dea5bf1
                name: Brightness
                createdAt: '2021-06-16T07:51:06.917Z'
                items:
                  - type: BRIGHTNESS
                    value:
                      - brightness: 36
                        time: '16:56'
                note: New policy created
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: '404: Device not found'
                  value:
                    status: 404
                    message: Resource not found - Device was not found
                    errorCode: 404019
                    errorName: NO_DEVICE_TO_READ_ERROR
                    errorDetail: No device found by properties specified in query string
                example-1:
                  summary: '404: Policy not found'
                  value:
                    status: 404
                    message: Resource not found - Policy is not assigned to the device.
                    errorCode: 404129
                    errorName: NO_DEVICE_POLICY_TO_READ
                    errorDetail: Specified policy is not assigned to the device.
    delete:
      tags:
        - Device/Policy
      summary: Unassign Policy from Device
      description: |-
        Unassign Policy from Device by `deviceUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |
        | `policyUid` | string | Required | Unique Policy Identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: policyUid
          in: path
          schema: *ref_244
          required: true
          example: '{{policyUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/device/{deviceUid}/power-action:
    post:
      tags:
        - Device/Power Actions
      summary: Create Device Power Action
      description: |-
        Perform device power action by `deviceUid`.

        Send Power action to a device - restart, shutdown/turn off, turn on, restart an android app, refresh applet and reload applet.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                devicePowerAction:
                  type: string
                  enum: &ref_247
                    - APP_RESTART
                    - SYSTEM_REBOOT
                    - APPLET_RELOAD
                    - APPLET_REFRESH
                    - DISPLAY_POWER_ON
                    - DISPLAY_POWER_OFF
                    - BACKUP_RESTART
                    - APPLET_ENABLE
                    - APPLET_DISABLE
                    - FILE_SYSTEM_WIPEOUT
                    - REAPPLY_POLICY
                  description: |
                    * `APP_RESTART` - Restart App on the display and clear HTML caches
                    * `SYSTEM_REBOOT` - Restart device
                    * `APPLET_RELOAD` - Stop, reinstall and start applet
                    * `APPLET_REFRESH` - Refresh applet (like F5)
                    * `DISPLAY_POWER_ON` - Turn on screen
                    * `DISPLAY_POWER_OFF` - Turn off screen
                    * `BACKUP_RESTART` - Sets a flag to reboot device on next configuration check
                    * `APPLET_DISABLE` - Disable applet for the current session and show basic device info
                    * `APPLET_ENABLE` - Enable applet again for the current session and show the current applet
                    * `FILE_SYSTEM_WIPEOUT` - Delete all custom files (applets, custom scripts etc.)
                    * `REAPPLY_POLICY` - Force the device to re-evaluate and reapply all assigned policy settings
              additionalProperties: false
              required:
                - devicePowerAction
              example:
                devicePowerAction: APP_RESTART
      parameters:
        - name: x-auth
          in: header
          schema: *ref_239
          description: Authorization key and token
          example: '{{x-auth}}'
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '201':
          description: OK message with link in header
          headers: *ref_245
          content: *ref_246
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Device/Power Actions
      summary: Get Performed Device Power Actions
      description: |-
        Get all performed device power actions by `deviceUid`
        Get Power actions sent to the device - restart, shutdown/turn off, turn on, restart the android app, refresh applet and reload applet.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: since
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Fetch all power actions newer than this date (inclusive)
          example: '2025-06-23T12:04:06.603Z'
        - name: until
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Fetch all power actions older than this date (inclusive)
          example: '2025-05-23T12:13:10.603Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    deviceUid:
                      type: string
                    organizationUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    succeededAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    failedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    powerType:
                      type: string
                      enum: *ref_247
                      description: |
                        * `APP_RESTART` - Restart App on the display and clear HTML caches
                        * `SYSTEM_REBOOT` - Restart device
                        * `APPLET_RELOAD` - Stop, reinstall and start applet
                        * `APPLET_REFRESH` - Refresh applet (like F5)
                        * `DISPLAY_POWER_ON` - Turn on screen
                        * `DISPLAY_POWER_OFF` - Turn off screen
                        * `BACKUP_RESTART` - Sets a flag to reboot device on next configuration check
                        * `APPLET_DISABLE` - Disable applet for the current session and show basic device info
                        * `APPLET_ENABLE` - Enable applet again for the current session and show the current applet
                        * `FILE_SYSTEM_WIPEOUT` - Delete all custom files (applets, custom scripts etc.)
                        * `REAPPLY_POLICY` - Force the device to re-evaluate and reapply all assigned policy settings
                  additionalProperties: false
                  required:
                    - uid
                    - deviceUid
                    - createdAt
                    - updatedAt
                    - powerType
              example:
                - uid: 3cffce6acb7a9899815517dd0137723af7e5bf17bee9aac993
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  organizationUid: 3cffcabomn9040959815517dd0137723af7e5bf17bee9aac993
                  createdAt: '2021-04-25T21:22:23.829Z'
                  succeededAt: '2021-04-25T21:22:25.394Z'
                  updatedAt: '2021-04-25T21:22:25.394Z'
                  powerType: APP_RESTART
                - uid: 480453939e3b0e47e6e7c5f82dd9d5810e5fe216355a4f1103
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  organizationUid: 3cffcabomn9040959815517dd0137723af7e5bf17bee9aac993
                  createdAt: '2021-04-25T21:19:47.040Z'
                  succeededAt: '2021-04-25T21:19:48.736Z'
                  updatedAt: '2021-04-25T21:19:48.736Z'
                  powerType: APP_RESTART
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/power-action/count:
    get:
      tags:
        - Device/Power Actions
      summary: Get Count of Performed Device Power Actions
      description: Get Count of all performed device power actions by `deviceUid`
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/remote-control:
    put:
      tags:
        - Device/Kiosk mode & IR Remote Control
      summary: Update Device Kiosk Mode/IR Remote Control
      description: |-
        This endpoint enables/disables the IR Remote Control sensor on the SoC devices & locks/unlocks Android devices Kiosk mode.

        If you want to disable IR Remote Control sensor to prevent anyone from controlling your device over IR remote control or if you want to lock tablet into kiosk mode.

        **Android Device Attention Required:**

        In order to prevent Android from displaying Android homepage and thus not showing your content, you must Enable Kiosk Mode (= Lock Remote Control) either through Box device settings or through API.

        Always set the Remote Control to `enabled=false` via this REST API or in Box on the device detail's Settings tab.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | device application id |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | Description |
        | --- | --- | --- |
        | `locked` | boolean | **FALSE** – device is **unlocked** (possible to use IR control and kiosk mode is disabled)  <br>**TRUE** – device is **locked** (no IR control, kiosk mode enabled) |
        | `kiosk` | boolean | alias to `locked` |
        | ~~`enabled`~~ | boolean | **DEPRECATED** - **TRUE** – device is **unlocked** (possible to use IR control and kiosk mode is disabled) <br>**FALSE** – device is **locked** (no IR control, kiosk mode enabled) |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                locked: false
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404044
                errorName: NO_DEVICE_TO_REMOTE_CONTROL_SET
                errorDetail: No device found by identity hash specified in URI path thus device remote control not to be set
    get:
      tags:
        - Device/Kiosk mode & IR Remote Control
      summary: Get Device Kiosk Mode / IR Remote Control Status
      description: |-
        If you want to know if you disabled IR Remote Control or if you locked the tablet into kiosk mode.

        **locked**

        *   `FALSE`, IR Remote Control is UNLOCKED, you can use it to adjust device settings, KIOSK mode is disabled
        *   `TRUE`, IR Remote Control is LOCKED, it is not possible to use it, KIOSK mode is enabled

        **kiosk**

        *   alias to `locked`

        ~~**enabled**~~ *DEPRECATED*

        *   `TRUE`, IR Remote Control is UNLOCKED, you can use it to adjust device settings, KIOSK mode is disabled
        *   `FALSE`, IR Remote Control is LOCKED, it is not possible to use it, KIOSK mode is enabled

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | device application id |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: 46492231b9b4761f9bdbca0662a8aefd2c9f75e2202328b2c3
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  createdAt: '2021-04-25T22:20:15.891Z'
                  succeededAt: null
                  failedAt: '2021-04-25T22:20:16.098Z'
                  enabled: true
                  locked: false
                  kiosk: false
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404043
                errorName: NO_DEVICE_TO_REMOTE_CONTROL_READ
                errorDetail: No device found by identity hash specified in URI path thus device remote control not to be read
  /v1/device/{deviceUid}/report:
    get:
      tags:
        - Device/Monitoring
      summary: Get Device Reports (Uptime, Applet Commands)
      description: |-
        Get all device report files by `deviceUid`.
        Get Report files – historical data containing Device Applet commands, Applet Ready events, Connected/Disconnected actions.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: createdSince
          in: query
          description: Get all results since exact date (included)
          schema:
            type: string
            format: date-time
          example: '2025-09-01T12:45:00.000Z'
        - name: createdUntil
          in: query
          description: Get all results till exact date (excluded)
          schema:
            type: string
            format: date-time
          example: '2025-12-01T12:45:00.000Z'
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - uid
                    - deviceUid
                    - createdAt
                    - updatedAt
                    - urn
                    - uri
                    - type
                  properties:
                    uid:
                      type: string
                      description: Unique identifier for the report file
                      example: abc123-def456-ghi789
                    deviceUid:
                      type: string
                      description: Device unique identification
                      example: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                    createdAt:
                      description: When the report was created
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      description: When the report was last updated
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    urn:
                      type: string
                      description: Uniform Resource Name for the report file
                      example: /reports/112da4fdd8b382951aa996be98eda4281b793017db0a917ded5397/Web.Socket.Connected_default/2021-10-31.csv
                    uri:
                      type: string
                      description: Full URI to access the report file
                      example: https://2.signageos.io/reports/112da4f28b3829ddaa996be98eda4281b793017db0a917ded5397/Web.Socket.Connected_default/2021-10-31.csv
                    type:
                      type: string
                      nullable: true
                      description: Type of the report (extracted from URN)
                      example: Web.Socket.Connected_default
              example:
                - uid: abc123-def456-ghi789-001
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  createdAt: '2021-11-01T08:26:03.950Z'
                  updatedAt: '2021-11-01T08:26:03.950Z'
                  urn: /reports/112da4fdd8b382951aa996be98eda4281b793017db0a917ded5397/Web.Socket.Connected_default/2021-10-31.csv
                  uri: https://2.signageos.io/reports/112da4f28b3829ddaa996be98eda4281b793017db0a917ded5397/Web.Socket.Connected_default/2021-10-31.csv
                  type: Web.Socket.Connected_default
                - uid: abc123-def456-ghi789-002
                  deviceUid: 112da4f28b382951aa996be98eda4281b79301ddda917ded5397
                  createdAt: '2021-11-01T08:26:04.126Z'
                  updatedAt: '2021-11-01T08:26:04.126Z'
                  urn: /reports/112da4f28b382951aa996be98eda4281b7ddd17db0a917ded5397/Web.Socket.Disconnected_default/2021-10-31.csv
                  uri: https://2.signageos.io/reports/112da4f28b382951addddbe98eda4281b793017db0a917ded5397/Web.Socket.Disconnected_default/2021-10-31.csv
                  type: Web.Socket.Disconnected_default
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/report/count:
    get:
      tags:
        - Device/Monitoring
      summary: Count Device Reports
      description: |-
        Get count of device report files by `deviceUid`.
        Count Report files – historical data containing Device Applet commands, Applet Ready events, Connected/Disconnected actions.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: createdSince
          in: query
          description: Get all results since exact date (included)
          schema:
            type: string
            format: date-time
          example: '2025-09-01T12:45:00.000Z'
        - name: createdUntil
          in: query
          description: Get all results till exact date (excluded)
          schema:
            type: string
            format: date-time
          example: '2025-12-01T12:45:00.000Z'
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/resolution:
    put:
      tags:
        - Device/Orientation and Resolution
      summary: Set Device Orientation and Resolution
      description: |-
        This method is used for setting device orientation and resolution.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | device application id |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        **Recommended usage:**

        | Field | Type | Description |
        | --- | --- | --- |
        | orientation | string - ‘PORTRAIT’ ‘PORTRAIT_FLIPPED’ ’LANDSCAPE’ ‘LANDSCAPE_FLIPPED’ ‘AUTO’ must be in uppercase | set device orientation to portrait, landscape or auto. Auto works only for tablets with gyroscope. |
        | size | JSON  <br>\`{ "width": 1920, "height": 1080 }\` | set specific device resolution, only for external players and devices supporting specific resolutions (BrightSign, Windows, selected Android players)<br> To be used in combination with `orientation` field and possibly `framerate` field  on supported device (BrightSign). `resolution` field needs to be omitted. |
        | framerate | number - 60 | specify exact video output framerate, only for BrightSign. To be used in combination with `size` and `orientation` field. |

        **Legacy usage:**

        | Field | Type | Description |
        | --- | --- | --- |
        | orientation | string - ‘PORTRAIT’ ‘PORTRAIT_FLIPPED’ ’LANDSCAPE’ ‘LANDSCAPE_FLIPPED’ ‘AUTO’ must be in uppercase | set device orientation to portrait, landscape or auto. Auto works only for tablets with gyroscope. |
        | resolution | string ‘FULL_HD’ ‘HD_READY’ must be in uppercase | set device resolution.<br> <b>Deprecated method to set resolution, `framerate` field  is ignored if used in combination with this method</b> |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                orientation: LANDSCAPE
                size:
                  width: 1920
                  height: 1080
                framerate: 60
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: '200: Successful request'
                  value:
                    message: OK
                example-1:
                  summary: '200: Set Device Orientation and Exact Resolution'
                  value:
                    message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404047
                errorName: NO_DEVICE_TO_RESOLUTION_SET
                errorDetail: No device found by identity hash specified in URI path thus device resolution or orientation not to be set
    get:
      tags:
        - Device/Orientation and Resolution
      summary: Get Device Orientation and Resolution
      description: |-
        Get change device resolution requests by `deviceUid`

        This method is used to get orientation and resolution you set to the device.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device application id |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: e5b217fb7c0de5231c5426e72b8cf3b2dd9bdcd117307dwdwa
                  deviceUid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2dwqqqd2
                  createdAt: '2021-04-18T23:50:28.781Z'
                  succeededAt: null
                  failedAt: '2021-04-18T23:50:29.679Z'
                  resolution: FULL_HD
                  size:
                    width: 1920
                    height: 1080
                  orientation: PORTRAIT
                  videoOrientation: null
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404046
                errorName: NO_DEVICE_TO_RESOLUTIONS_LIST_READ
                errorDetail: No device found by identity hash specified in URI path thus list of device resolutions not to be read
  /v1/device/{deviceUid}/revoke-key:
    put:
      tags:
        - Device/Revoke Key
      summary: Revokes public key on the device
      description: |-
        In signageOS device management, it is possible to send encrypted configurations to a device, typically for applets, scripts, etc. The process uses asymmetric encryption, including the device's own private-public key pair. This key pair is automatically renewed when it expires. However, there may be situations where the device user wants to forcibly renew the key pair. This endpoint handles that process. Upon a successful request, the previous key is revoked, and a new one is automatically created.
        For more details, visit [https://developers.signageos.io/docs/devspace-extras/env-variables-configuration](https://developers.signageos.io/docs/devspace-extras/env-variables-configuration) and [https://developers.signageos.io/docs/devspace-basics/use-secrets](https://developers.signageos.io/docs/devspace-basics/use-secrets).
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Device/Revoke Key
      summary: Get history of device public key revocations
      description: Get history of device public key revocations
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_248
                    uid:
                      type: string
                    deviceUid:
                      type: string
                    deviceIdentityHash:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    succeededAt:
                      type: string
                      nullable: true
                      format: date-time
                    failedAt:
                      type: string
                      nullable: true
                      format: date-time
                  required: &ref_249
                    - uid
                    - deviceUid
                    - deviceIdentityHash
                    - createdAt
              example:
                - uid: 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  deviceIdentityHash: 1b2aa28731968c3dfbb472cd90678e044fc67667e5818557d88ed
                  createdAt: '2021-04-30T01:30:33.709Z'
                  succeededAt: '2021-04-30T01:30:34.103Z'
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/revoke-key/count:
    get:
      tags:
        - Device/Revoke Key
      summary: Count device public key revocations
      description: Count how many times public key were revoked on a device.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content: *ref_152
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/revoke-key/latest:
    get:
      tags:
        - Device/Revoke Key
      summary: Get latest device public key revocation
      description: Get latest device public key revocation
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_248
                required: *ref_249
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/runner:
    get:
      tags:
        - Device/Runner
      summary: List device runners
      description: Retrieves all runners assigned to a specific device with their assigned versions
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: status
          in: query
          schema:
            type: array
            items:
              type: string
              enum: &ref_250
                - active
                - error
                - inactive
          description: Filter by runner status on device
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_251
                    uid:
                      type: string
                      readOnly: true
                    runnerUid:
                      type: string
                    version:
                      type: string
                    deviceUid:
                      type: string
                    configuration:
                      type: object
                      additionalProperties: true
                    status:
                      default: active
                      type: string
                      enum: *ref_250
                    createdAt:
                      type: string
                      format: date-time
                      readOnly: true
                    updatedAt:
                      type: string
                      format: date-time
                      readOnly: true
                  required: &ref_252
                    - uid
                    - runnerUid
                    - version
                    - deviceUid
                    - createdAt
              example:
                - uid: abcd1234-5678-90ef-ghij-klmnopqrstuv
                  runnerUid: runner123-456-789
                  version: 2.1.0
                  deviceUid: device789-012-345
                  configuration:
                    enabled: true
                    logLevel: info
                    customParam: value
                  status: active
                  createdAt: '2023-07-15T10:30:00Z'
                  updatedAt: '2023-07-15T14:45:00Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Device/Runner
      summary: Assign runner to device
      description: Creates a new runner assignment for a specific device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                runnerUid:
                  type: string
                version:
                  type: string
                configuration:
                  type: object
                  additionalProperties: true
              required:
                - runnerUid
                - version
            example:
              runnerUid: abc123def456
              version: 1.2.0
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/runner/{assignmentUid}:
    get:
      tags:
        - Device/Runner
      summary: Get Runner Assignment
      description: Retrieves a specific runner assignment to a specific device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          required: true
          schema: &ref_253
            type: string
          description: Unique identifier of the runner assignment
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_251
                required: *ref_252
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Device/Runner
      summary: Update Runner Assignment
      description: Updates an existing runner assignment for a specific device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          required: true
          schema: *ref_253
          description: Unique identifier of the runner assignment
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: string
                configuration:
                  type: object
                  additionalProperties: true
                configurationSet:
                  type: object
                  description: For partial update of runner configuration. Cannot be used together with configuration in same request
                configurationRemoveKeys:
                  type: array
                  items:
                    type: string
                  description: For removing parts of runner configuration. Cannot be used together with configuration in same request
                runnerUid:
                  type: string
              required:
                - runnerUid
            example:
              runnerUid: abc123def456
              version: 1.1.0
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Device/Runner
      summary: Delete Runner Assignment
      description: Deletes a specific runner assignment from a device
      parameters:
        - name: x-auth
          in: header
          schema: &ref_376
            type: string
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: assignmentUid
          in: path
          required: true
          schema: *ref_253
          description: Unique identifier of the runner assignment
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/scheduled-power-action:
    post:
      tags:
        - Device/Power Actions
      summary: Create Device Scheduled Power Action
      description: |-
        Set device scheduled power action by `deviceUid`.

        Schedule new power action.

        *   `APP_RESTART` – Restart APP on the display and clear HTML caches;
        *   `SYSTEM_REBOOT` – Restart device
        *   `APPLET_RELOAD` – Hard reload of saved content and files
        *   `APPLET_REFRESH` – Soft refresh of the applet (like F5)
        *   `DISPLAY_POWER_ON` – turn on display (not chip)
        *   `DISPLAY_POWER_OFF` – Turn off the display (not chip)
        *   `APPLET_DISABLE` – Disable applet for the current session and show basic device info
        *   `APPLET_ENABLE` – Enable applet again for the current session and show current applet

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | Description |
        | --- | --- | --- |
        | `powerAction` | string ‘APP_RESTART’ ‘SYSTEM_REBOOT’ ‘APPLET_RELOAD’ ‘APPLET_REFRESH’ ‘DISPLAY_POWER_ON’ ‘DISPLAY_POWER_OFF’ ‘APPLET_DISABLE’ ‘APPLET_ENABLE’ | the Power action type, UPPERCASE |
        | `weekdays` (weekdays\[0\] - for x-www-form-urlencoded) | string\[\] ‘MONDAY’ ‘TUESDAY’ ‘WEDNESDAY’ ‘THURSDAY’ ‘FRIDAY’ ‘SATURDAY’ ‘SUNDAY’ | List of weekdays when the power action should be triggered, UPPERCASE |
        | `time` | string - HH:MM:SS | Time in 24 hour format, when the power action should be triggered |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                powerAction: APP_RESTART
                time: '12:45:00'
                weekdays:
                  - MONDAY
                  - TUESDAY
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404040
                errorName: NO_DEVICE_TO_SCHEDULED_POWER_ACTION_CREATE
                errorDetail: No device found by identity hash specified in URI path thus scheduled power action not to be created
    get:
      tags:
        - Device/Power Actions
      summary: Get Device Scheduled Power Actions
      description: |-
        Get all set device scheduled power actions by `deviceUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `deviceUid` | string | Required | Unique Device Identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: 0c825d89a7abd1d227e921966b341fdbe80a7eed87d1bc37b1
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  createdAt: '2021-04-25T22:04:27.217Z'
                  succeededAt: '2021-04-25T22:04:27.533Z'
                  failedAt: null
                  powerAction: APP_RESTART
                  weekdays:
                    - MONDAY
                    - TUESDAY
                  time: '12:45:00'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404035
                errorName: NO_DEVICE_TO_SCHEDULED_POWER_ACTIONS_LIST
                errorDetail: No device found by identity hash specified in URI path thus scheduled power actions list not to be read
  /v1/device/{deviceUid}/scheduled-power-action/{scheduledActionUid}:
    delete:
      tags:
        - Device/Power Actions
      summary: Delete Device Scheduled Power Action
      description: |-
        Delete or cancel scheduled power action on a device by `deviceUid`.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
        | `scheduledPowerActionUid` | string | required | Scheduled power action id |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: scheduledActionUid
          in: path
          schema:
            type: string
          required: true
          example: '{{scheduledActionUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Scheduled power action was not found
                errorCode: 404039
                errorName: NO_DEVICE_SCHEDULED_POWER_ACTION_TO_DELETE
                errorDetail: No device scheduled power action specified by UID in URI path found for specified device
  /v1/device/{deviceUid}/screen-capture:
    put:
      tags:
        - Device/Screen Capture
      summary: Enable/disable Device Screen Capture
      description: Enable or disable screen capture on a device.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enable:
                  type: boolean
                  example: true
              example:
                enable: true
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: Success
          content: *ref_211
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Device/Screen Capture
      summary: Get Device Screen Capture status
      description: Get current device screen capture status.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  enabled:
                    type: boolean
                    example: true
              example:
                enabled: true
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/screenshot:
    post:
      tags:
        - Device/Screenshots
      summary: Request New Device Screenshot
      description: |-
        Request to take live screenshots from the device by `deviceUid`. You can obtain extra screenshots at any time and it will be shown in a standard list of taken screenshots.

        The request will fail if the device has disabled screen capture.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: Success
          content: *ref_211
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Device/Screenshots
      summary: Get Device Screenshots
      description: |-
        Get live screenshots from the device by `deviceUid`. Usually, we take screenshots automatically every 6 minutes. But you can obtain extra screenshots at any time.

        The request will fail if the device has disabled screen capture.

        **Upcoming change:** The `uri` field in the response will change from a permanent, publicly accessible URL to a time-limited pre-signed URL. The pre-signed URL grants direct access to the screenshot file without any additional authentication or redirect. The URL is guaranteed to be valid for at least **8 hours** from the time it was generated. Once this change takes effect, you will no longer be able to store the `uri` value and reuse it indefinitely. After the URL expires, call this endpoint again to get updated screenshot metadata with a fresh pre-signed `uri`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: takenSince
          in: query
          schema: &ref_263
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Fetch data since this parameter.
          example: '{{takenSince}}'
        - name: takenUntil
          in: query
          schema: &ref_264
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Fetch data until this parameter.
          example: '{{takenUntil}}'
        - name: aHash
          in: query
          schema: *ref_213
          description: Average hashes of image
          required: false
        - name: aHashToExclude
          in: query
          schema: *ref_254
          example: *ref_255
          description: Average hashes of image to exclude from results
          required: false
        - name: dHash
          in: query
          schema: *ref_214
          example: *ref_215
          description: Difference hashes of image
          required: false
        - name: dHashToExclude
          in: query
          schema: *ref_256
          example: *ref_257
          description: Difference hashes of image to exclude from results
          required: false
        - name: pHash
          in: query
          schema: *ref_216
          example: *ref_217
          description: Perceptual hashes of image
        - name: pHashToExclude
          in: query
          schema: *ref_258
          example: *ref_259
          description: Perceptual hashes of image to exclude from results
          required: false
        - name: limit
          in: query
          schema: *ref_212
          description: Page size. For more information, view Pagination section.
          example: 10
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: *ref_260
                  required: *ref_261
              example: *ref_262
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/screenshot/count:
    get:
      tags:
        - Device/Screenshots
      summary: Count Device Screenshots
      description: |-
        Get count of live screenshots from the device by `deviceUid`. Usually, we take screenshots automatically every 6 minutes. But you can obtain extra screenshots at any time.

        The request will fail if the device has disabled screen capture.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: takenSince
          in: query
          schema: *ref_263
          description: Fetch data since this parameter.
          example: '{{takenSince}}'
        - name: takenUntil
          in: query
          schema: *ref_264
          description: Fetch data until this parameter.
          example: '{{takenUntil}}'
        - required: false
          name: aHash
          in: query
          schema: *ref_213
          description: Average hashes of image
        - required: false
          name: dHash
          in: query
          schema: *ref_214
          example: *ref_215
          description: Difference hashes of image
        - required: false
          name: pHash
          in: query
          schema: *ref_216
          example: *ref_217
          description: Perceptual hashes of image
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/security:
    get:
      tags:
        - Device/Security
      summary: Get Device Security
      description: Get a device security options
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  bluetoothEnabled:
                    type: boolean
                    nullable: true
                  usbEnabled:
                    type: boolean
                    nullable: true
                  wifiEnabled:
                    type: boolean
                    nullable: true
                  menuAccessEnabled:
                    type: boolean
                    nullable: true
                  buttonsEnabled:
                    type: boolean
                    nullable: true
                  remoteControlEnabled:
                    type: boolean
                    nullable: true
                  kioskModeEnabled:
                    type: boolean
                    nullable: true
                  createdAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  updatedAt:
                    nullable: true
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Device/Security
      summary: Update Device Security
      description: Update a device security options
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bluetoothEnabled:
                  type: boolean
                  nullable: true
                usbEnabled:
                  type: boolean
                  nullable: true
                wifiEnabled:
                  type: boolean
                  nullable: true
                menuAccessEnabled:
                  type: boolean
                  nullable: true
                buttonsEnabled:
                  type: boolean
                  nullable: true
                remoteControlEnabled:
                  type: boolean
                  nullable: true
                kioskModeEnabled:
                  type: boolean
                  nullable: true
              example:
                bluetoothEnabled: true
                wifiEnabled: false
      responses:
        '200':
          description: Success
          content: *ref_211
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/set-plugin/{pluginUid}:
    put:
      tags:
        - Device/Plugin
      summary: Set Plugin property on Device
      description: Sends a "set property" command to a specific plugin on a specific device. `data` object is validated against plugin's schema.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  additionalProperties: true
            example:
              data:
                sCurve: 65
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/set-runner/{runnerUid}:
    put:
      tags:
        - Device/Runner
      summary: Set Runner property on Device
      description: Sends a "set property" command to a specific runner on a specific device. `data` object is validated against runner's input schema.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  additionalProperties: true
            example:
              data:
                sCurve: 65
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/storage:
    get:
      tags:
        - Device/Storage
      summary: Get Device Storage
      description: |-
        Get Current storage status of free, used & total memory in internal & external storage by `deviceUid`.

        > Returned values are in Bytes.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                internal:
                  capacity: 10737418240
                  freeSpace: 10737418240
                removable:
                  capacity: 0
                  freeSpace: 0
                updatedAt: '2021-04-25T22:22:42.198Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found
                errorCode: 404051
                errorName: NO_DEVICE_STORAGE_FOUND_TO_READ
                errorDetail: Although device was found no related device storage found
  /v1/device/{deviceUid}/system-log:
    get:
      tags:
        - Device/System Log
      summary: Get Device System Logs
      description: |-
        Get system logs for device by `deviceUid`.

        > Returned values are in Bytes.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: since
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Get all results since this date (included). The earliest allowed date is 30 days ago. It's not allowed to use both "since" and "until" at the same time. If not provided, the default is 7 days ago.
          example: '2025-09-01T12:45:00.000Z'
        - name: until
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Get all results before this date. It's possible to fetch logs up to 30 days ago. It's not allowed to use both "since" and "until" at the same time. If not provided, the default is now.
          example: '2025-12-01T12:45:00.000Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    deviceIdentityHash:
                      type: string
                    organizationUid:
                      type: string
                    payload:
                      type: object
                    receivedAt:
                      type: string
                      format: date-time
                    recordedAt:
                      type: string
                      format: date-time
              example:
                - id: acd7bbfb04d428edbf9484d7e13699ffbde6fc357bebfb16c4
                  deviceIdentityHash: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                  payload:
                    type: AppletRunning
                  receivedAt: '2024-04-18T22:44:01.973Z'
                  recordedAt: '2024-04-18T22:44:01.973Z'
                - id: d2f3e255fad2dd6f3e12f0f16dc594fe99654fec351f3fa338
                  deviceIdentityHash: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                  payload:
                    type: DeviceAlive
                  receivedAt: '2024-04-18T22:44:01.973Z'
                  recordedAt: '2024-04-18T22:44:01.973Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
  /v1/device/{deviceUid}/tag:
    get:
      tags:
        - Device/Tag (Device Tags)
      summary: Get tags assigned to the device
      description: |-
        Get list of tags which was assigned to the device
        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    organizationUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    name:
                      type: string
                    color:
                      type: string
                    parentTagUid:
                      type: string
                    assignedDevicesCount:
                      type: integer
                      description: Number of devices assigned to this tag
                    assignedLocationsCount:
                      type: integer
                      description: Number of locations assigned to this tag
                    assignedPoliciesCount:
                      type: integer
                      description: Number of policies assigned to this tag
                    assignedContentGuardItemsCount:
                      type: integer
                      description: Number of content guard items assigned to this tag
                  required:
                    - uid
                    - organizationUid
                    - createdAt
                    - updatedAt
                    - name
                    - assignedDevicesCount
                    - assignedLocationsCount
                    - assignedPoliciesCount
                    - assignedContentGuardItemsCount
              example:
                - uid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                  organizationUid: 0674e138eaca0c51daeb93354ac8b2fbcc45a6b5e65a6e28e4
                  createdAt: '2022-01-10T10:00:00.000Z'
                  updatedAt: '2022-01-10T10:00:00.000Z'
                  name: My amazing tag
                  color: 29 0 51
                  assignedDevicesCount: 1
                  assignedLocationsCount: 15
                  assignedPoliciesCount: 0
                  assignedContentGuardItemsCount: 0
                - uid: cfa3f5a1d50d7618ef832994f819b2e6216d2a27c62bb0b526
                  organizationUid: 0674e138eaca0c51daeb93354ac8b2fbcc45a6b5e65a6e28e4
                  createdAt: '2022-01-01T10:00:00.000Z'
                  updatedAt: '2022-01-10T10:00:00.000Z'
                  name: Technical tag
                  color: 255 0 255
                  assignedDevicesCount: 1
                  assignedLocationsCount: 0
                  assignedPoliciesCount: 0
                  assignedContentGuardItemsCount: 10
  /v1/device/{deviceUid}/tag/count:
    get:
      tags:
        - Device/Tag (Device Tags)
      summary: Get count of tags assigned to the device
      description: Get count of tags which was assigned to the device
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      responses:
        '200':
          description: OK
          content: *ref_152
  /v1/device/{deviceUid}/tag/{tagUid}:
    post:
      tags:
        - Device/Tag (Device Tags)
      summary: Assign organization tag to the device.
      description: Enables to assign organization tag to the device that belongs to this organization.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: tagUid
          in: path
          schema: &ref_267
            type: string
          description: Organization tag uid
          required: true
          example: '{{tagUid}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device was not found.
                errorCode: 404019
                errorName: NO_DEVICE_TO_READ_ERROR
                errorDetail: No device found by properties specified in query string.
    delete:
      tags:
        - Device/Tag (Device Tags)
      summary: Unassign organization tag which is assigned to the device.
      description: Enables to unassign organization tag on the device.
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: tagUid
          in: path
          schema: *ref_267
          description: Organization tag uid
          required: true
          example: '{{tagUid}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device tag is not assigned.
                errorCode: 404181
                errorName: DEVICE_ORGANIZATION_TAG_IS_NOT_ASSIGNED
                errorDetail: 'Device Organization tag with uid: 0cc023a46bea3c24362e8f6e6aa4a7c5ff2f1b7bf1234dc33a is not assigned to the device.'
  /v1/device/{deviceUid}/telemetry/latest:
    get:
      tags:
        - Device/Telemetry
      summary: Get Device Latest Telemetries
      description: 'Get the latest telemetry readings of all types (e.g.: REMOTE_CONTROL, ONLINE_STATUS and etc.), for a device in the current organization.'
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_268
                required: *ref_269
              example:
                uid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                deviceUid: ca6319cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                createdAt: '2022-01-03T10:00:00.000Z'
                telemetries:
                  APPLICATION_VERSION:
                    uid: dec419cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                    createdAt: '2022-01-03T10:00:00.000Z'
                    data:
                      version: 1.0.0
                  BRIGHTNESS:
                    uid: dec419cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                    createdAt: '2022-01-03T10:00:00.000Z'
                    data:
                      brightness: 50
                  WIFI_STRENGTH:
                    uid: dec419cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                    createdAt: '2022-01-03T10:00:00.000Z'
                    data:
                      strength: 50
  /v1/device/{deviceUid}/telemetry/{telemetryType}:
    get:
      tags:
        - Device/Telemetry
      summary: Get Device Telemetry History by Type
      description: |
        Telemetry history provides access to the device settings reported from
        the device.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: limit
          in: query
          schema: *ref_212
          description: Page size. For more information, view Pagination section.
          example: 10
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: telemetryType
          in: path
          schema:
            type: string
            enum: &ref_340
              - APPLET
              - APPLICATION_VERSION
              - APP_MODULES
              - AUTO_RECOVERY
              - BRIGHTNESS
              - BUNDLED_APPLET
              - CLIENT_PUBLIC_IP
              - CONNECTION_METHOD
              - CPU_USAGE
              - CRYPTOGRAPHIC_KEY
              - DATETIME
              - DEBUG
              - DISPLAY_POWER_ON
              - DISPLAY_SETTING
              - EXTENDED_MANAGEMENT
              - FEATURE_FLAGS
              - FIRMWARE_VERSION
              - FRONT_CAPABILITIES
              - FRONT_DISPLAY_VERSION
              - INPUT_SOURCE
              - INSTALLED_PACKAGES
              - MANAGEMENT_CAPABILITIES
              - MEMORY_USAGE
              - NETWORK_INTERFACES
              - OFFLINE_RANGE
              - ONLINE_STATUS
              - ORIENTATION
              - PEER_RECOVERY
              - PLUGIN
              - POWER_ACTIONS_SCHEDULE
              - PROPRIETARY_TIMERS
              - PROXY
              - REMOTE_CONTROL
              - RESOLUTION
              - RUNNER
              - RUNNER_CUSTOM
              - STORAGE
              - SUPRA
              - TEMPERATURE
              - TIMERS
              - VOLUME
              - WIFI_STRENGTH
            description: |
              Telemetry type for device data.
              * **APPLET**: Current active applet on device, incl. version and configuration.
              * **APPLICATION_VERSION**: Version of CoreApp or CloudControl application.
              * **APP_MODULES**: TODO
              * **AUTO_RECOVERY**: Only available on Tizen and WebOS.
              * **BRIGHTNESS**: Device brightness settings.
              * **BUNDLED_APPLET**: Bundled applet information.
              * **CLIENT_PUBLIC_IP**: Client public IP address as seen by the server during telemetry submission.
              * **CONNECTION_METHOD**: Connnection method - websocket or http(s)
              * **CPU_USAGE**: Device current CPU usage
              * **CRYPTOGRAPHIC_KEY**: Report existence of private crypto key for decrypting timing and scripts configurations.
              * **DATETIME**: Device date and time information.
              * **DEBUG**: Debug information.
              * **DISPLAY_POWER_ON**: Status of display/screen as the device can be online and running but having screen off.
              * **DISPLAY_SETTING**: Only available on Tizen with enabled Extended control.
              * **EXTENDED_MANAGEMENT**: Legacy connection properties for Samsung devices
              * **FEATURE_FLAGS**: List of feature flags enabled or disabled on a given device.
              * **FIRMWARE_VERSION**: Device firmware version.
              * **FRONT_CAPABILITIES**: Device display capabilities
                
              * **FRONT_DISPLAY_VERSION**: Internal unification library.
              * **INPUT_SOURCE**: Only available on Tizen with enabled Extended control.
              * **INSTALLED_PACKAGES**: List of installed packages on the device, including their build hash and platform-specific specifications.
              * **MANAGEMENT_CAPABILITIES**: Other device capabilities
              * **MEMORY_USAGE**: Device memory - current usage and available capacity
              * **NETWORK_INTERFACES**: Ethernet and Wi-Fi interfaces and their configuration.
              * **OFFLINE_RANGE**: Deprecated! Use **ONLINE_STATUS** instead.
              * **ONLINE_STATUS**: Device online status.
              * **ORIENTATION**: Device orientation.
              * **PEER_RECOVERY**: Only available on Tizen.
              * **PLUGIN**: List of plugins running on the device, their version and data reported by them.
              * **POWER_ACTIONS_SCHEDULE**: Power actions schedule.
              * **PROPRIETARY_TIMERS**: Proprietary timers.
              * **PROXY**: Proxy configuration.
              * **REMOTE_CONTROL**: Remote control settings.
              * **RESOLUTION**: Display resolution.
              * **RUNNER**: List of runners running on the device, their version and data reported by them.
              * **RUNNER_CUSTOM**: List of runners running on the device, their version and custom telemetry data reported by them.
              * **STORAGE**: Storage information.
              * **SUPRA**: SUPRA mode connection and configuration status.
              * **TEMPERATURE**: Device temperature.
              * **TIMERS**: Timer settings.
              * **VOLUME**: Audio volume settings.
              * **WIFI_STRENGTH**: Wi-Fi signal strength.
            example: BRIGHTNESS
          required: true
          description: Type of telemetry data to retrieve
          example: BRIGHTNESS
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf: &ref_341
                    - title: applet
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_270
                          required: *ref_271
                        type:
                          type: string
                          enum:
                            - APPLET
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: application version
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_272
                          required: *ref_273
                        type:
                          type: string
                          enum:
                            - APPLICATION_VERSION
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: application modules
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_274
                          required: *ref_275
                        type:
                          type: string
                          enum:
                            - APP_MODULES
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: auto recovery
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_276
                          required: *ref_277
                        type:
                          type: string
                          enum:
                            - AUTO_RECOVERY
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: brightness
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_278
                          required: *ref_279
                        type:
                          type: string
                          enum:
                            - BRIGHTNESS
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: bundled applet
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_280
                          required: *ref_281
                        type:
                          type: string
                          enum:
                            - BUNDLED_APPLET
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: connection method
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: string
                          nullable: true
                          enum: *ref_282
                        type:
                          type: string
                          enum:
                            - CONNECTION_METHOD
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: cpu usage
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_283
                          required: *ref_284
                        type:
                          type: string
                          enum:
                            - CPU_USAGE
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: cryptographic key
                      type: object
                      deprecated: true
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_285
                        type:
                          type: string
                          enum:
                            - CRYPTOGRAPHIC_KEY
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: datetime
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_286
                          required: *ref_287
                        type:
                          type: string
                          enum:
                            - DATETIME
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: debug
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_288
                          required: *ref_289
                        type:
                          type: string
                          enum:
                            - DEBUG
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: display power on
                      type: object
                      deprecated: true
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_290
                          required: *ref_291
                        type:
                          type: string
                          enum:
                            - DISPLAY_POWER_ON
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: display setting
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_292
                          required: *ref_293
                        type:
                          type: string
                          enum:
                            - DISPLAY_SETTING
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: extended management
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_294
                          required: *ref_295
                        type:
                          type: string
                          enum:
                            - EXTENDED_MANAGEMENT
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: feature flags
                      type: object
                      deprecated: true
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_296
                          required: *ref_297
                        type:
                          type: string
                          enum:
                            - FEATURE_FLAGS
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: firmware version
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_298
                          required: *ref_299
                        type:
                          type: string
                          enum:
                            - FIRMWARE_VERSION
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: front capabilities
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_300
                        type:
                          type: string
                          enum:
                            - FRONT_CAPABILITIES
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: front display version
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_301
                          required: *ref_302
                        type:
                          type: string
                          enum:
                            - FRONT_DISPLAY_VERSION
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: input source
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_303
                          required: *ref_304
                        type:
                          type: string
                          enum:
                            - INPUT_SOURCE
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: installed packages
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          description: List of installed packages on the device
                          items: *ref_305
                        type:
                          type: string
                          enum:
                            - INSTALLED_PACKAGES
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: management capabilities
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_306
                        type:
                          type: string
                          enum:
                            - MANAGEMENT_CAPABILITIES
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: memory usage
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_307
                          required: *ref_308
                        type:
                          type: string
                          enum:
                            - MEMORY_USAGE
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: network interfaces
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_309
                        type:
                          type: string
                          enum:
                            - NETWORK_INTERFACES
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: offline range
                      type: object
                      deprecated: true
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_310
                          required: *ref_311
                        type:
                          type: string
                          enum:
                            - OFFLINE_RANGE
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: online status
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_312
                          required: *ref_313
                        type:
                          type: string
                          enum:
                            - ONLINE_STATUS
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: orientation
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_314
                          required: *ref_315
                        type:
                          type: string
                          enum:
                            - ORIENTATION
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: peer recovery
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_316
                          required: *ref_317
                        type:
                          type: string
                          enum:
                            - PEER_RECOVERY
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: plugin
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_318
                        type:
                          type: string
                          enum:
                            - PLUGIN
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: power actions schedule
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_319
                        type:
                          type: string
                          enum:
                            - POWER_ACTIONS_SCHEDULE
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: propriatery timers
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_320
                        type:
                          type: string
                          enum:
                            - PROPRIETARY_TIMERS
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: proxy
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_321
                          required: *ref_322
                        type:
                          type: string
                          enum:
                            - PROXY
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: remote control
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_323
                          required: *ref_324
                        type:
                          type: string
                          enum:
                            - REMOTE_CONTROL
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: resolution
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_325
                          required: *ref_326
                        type:
                          type: string
                          enum:
                            - RESOLUTION
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: runner
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_327
                        type:
                          type: string
                          enum:
                            - RUNNER
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: runner custom
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_328
                        type:
                          type: string
                          enum:
                            - RUNNER_CUSTOM
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: storage
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_329
                          required: *ref_330
                        type:
                          type: string
                          enum:
                            - STORAGE
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: supra
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_331
                          required: *ref_332
                        type:
                          type: string
                          enum:
                            - SUPRA
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: temperature
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_333
                          required: *ref_334
                        type:
                          type: string
                          enum:
                            - TEMPERATURE
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: timers
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: array
                          items: *ref_335
                        type:
                          type: string
                          enum:
                            - TIMERS
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: volume
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_336
                          required: *ref_337
                        type:
                          type: string
                          enum:
                            - VOLUME
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                    - title: wifi strength
                      type: object
                      properties:
                        uid:
                          type: string
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                        deviceUid:
                          type: string
                        data:
                          type: object
                          properties: *ref_338
                          required: *ref_339
                        type:
                          type: string
                          enum:
                            - WIFI_STRENGTH
                      required:
                        - uid
                        - createdAt
                        - deviceUid
                        - data
                        - type
                  discriminator: &ref_342
                    propertyName: type
              example:
                - deviceUid: f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749
                  uid: ID-1
                  type: BRIGHTNESS
                  createdAt: '2022-01-27T17:26:42.640Z'
                  data:
                    brightness: 75
                - deviceUid: f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749
                  uid: ID-2
                  type: BRIGHTNESS
                  createdAt: '2022-01-26T12:35:11.000Z'
                  data:
                    brightness: 15
  /v1/device/{deviceUid}/telemetry/{telemetryType}/count:
    get:
      tags:
        - Device/Telemetry
      summary: Count Device Telemetry History by Type
      description: |
        Get count of telemetry history records for a specific device and telemetry type.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: telemetryType
          in: path
          schema:
            type: string
            enum: *ref_340
            description: |
              Telemetry type for device data.
              * **APPLET**: Current active applet on device, incl. version and configuration.
              * **APPLICATION_VERSION**: Version of CoreApp or CloudControl application.
              * **APP_MODULES**: TODO
              * **AUTO_RECOVERY**: Only available on Tizen and WebOS.
              * **BRIGHTNESS**: Device brightness settings.
              * **BUNDLED_APPLET**: Bundled applet information.
              * **CLIENT_PUBLIC_IP**: Client public IP address as seen by the server during telemetry submission.
              * **CONNECTION_METHOD**: Connnection method - websocket or http(s)
              * **CPU_USAGE**: Device current CPU usage
              * **CRYPTOGRAPHIC_KEY**: Report existence of private crypto key for decrypting timing and scripts configurations.
              * **DATETIME**: Device date and time information.
              * **DEBUG**: Debug information.
              * **DISPLAY_POWER_ON**: Status of display/screen as the device can be online and running but having screen off.
              * **DISPLAY_SETTING**: Only available on Tizen with enabled Extended control.
              * **EXTENDED_MANAGEMENT**: Legacy connection properties for Samsung devices
              * **FEATURE_FLAGS**: List of feature flags enabled or disabled on a given device.
              * **FIRMWARE_VERSION**: Device firmware version.
              * **FRONT_CAPABILITIES**: Device display capabilities
                
              * **FRONT_DISPLAY_VERSION**: Internal unification library.
              * **INPUT_SOURCE**: Only available on Tizen with enabled Extended control.
              * **INSTALLED_PACKAGES**: List of installed packages on the device, including their build hash and platform-specific specifications.
              * **MANAGEMENT_CAPABILITIES**: Other device capabilities
              * **MEMORY_USAGE**: Device memory - current usage and available capacity
              * **NETWORK_INTERFACES**: Ethernet and Wi-Fi interfaces and their configuration.
              * **OFFLINE_RANGE**: Deprecated! Use **ONLINE_STATUS** instead.
              * **ONLINE_STATUS**: Device online status.
              * **ORIENTATION**: Device orientation.
              * **PEER_RECOVERY**: Only available on Tizen.
              * **PLUGIN**: List of plugins running on the device, their version and data reported by them.
              * **POWER_ACTIONS_SCHEDULE**: Power actions schedule.
              * **PROPRIETARY_TIMERS**: Proprietary timers.
              * **PROXY**: Proxy configuration.
              * **REMOTE_CONTROL**: Remote control settings.
              * **RESOLUTION**: Display resolution.
              * **RUNNER**: List of runners running on the device, their version and data reported by them.
              * **RUNNER_CUSTOM**: List of runners running on the device, their version and custom telemetry data reported by them.
              * **STORAGE**: Storage information.
              * **SUPRA**: SUPRA mode connection and configuration status.
              * **TEMPERATURE**: Device temperature.
              * **TIMERS**: Timer settings.
              * **VOLUME**: Audio volume settings.
              * **WIFI_STRENGTH**: Wi-Fi signal strength.
            example: BRIGHTNESS
          required: true
          description: Type of telemetry data to retrieve
          example: BRIGHTNESS
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/telemetry/{telemetryType}/latest:
    get:
      tags:
        - Device/Telemetry
      summary: Get Device Latest Telemetry by Type
      description: |
        Telemetry provides access to the latest device settings reported from
        the device. Telemetry frequency is defined by telemetry intervals based on your device plan.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: telemetryType
          in: path
          schema:
            type: string
            enum: *ref_340
            description: |
              Telemetry type for device data.
              * **APPLET**: Current active applet on device, incl. version and configuration.
              * **APPLICATION_VERSION**: Version of CoreApp or CloudControl application.
              * **APP_MODULES**: TODO
              * **AUTO_RECOVERY**: Only available on Tizen and WebOS.
              * **BRIGHTNESS**: Device brightness settings.
              * **BUNDLED_APPLET**: Bundled applet information.
              * **CLIENT_PUBLIC_IP**: Client public IP address as seen by the server during telemetry submission.
              * **CONNECTION_METHOD**: Connnection method - websocket or http(s)
              * **CPU_USAGE**: Device current CPU usage
              * **CRYPTOGRAPHIC_KEY**: Report existence of private crypto key for decrypting timing and scripts configurations.
              * **DATETIME**: Device date and time information.
              * **DEBUG**: Debug information.
              * **DISPLAY_POWER_ON**: Status of display/screen as the device can be online and running but having screen off.
              * **DISPLAY_SETTING**: Only available on Tizen with enabled Extended control.
              * **EXTENDED_MANAGEMENT**: Legacy connection properties for Samsung devices
              * **FEATURE_FLAGS**: List of feature flags enabled or disabled on a given device.
              * **FIRMWARE_VERSION**: Device firmware version.
              * **FRONT_CAPABILITIES**: Device display capabilities
                
              * **FRONT_DISPLAY_VERSION**: Internal unification library.
              * **INPUT_SOURCE**: Only available on Tizen with enabled Extended control.
              * **INSTALLED_PACKAGES**: List of installed packages on the device, including their build hash and platform-specific specifications.
              * **MANAGEMENT_CAPABILITIES**: Other device capabilities
              * **MEMORY_USAGE**: Device memory - current usage and available capacity
              * **NETWORK_INTERFACES**: Ethernet and Wi-Fi interfaces and their configuration.
              * **OFFLINE_RANGE**: Deprecated! Use **ONLINE_STATUS** instead.
              * **ONLINE_STATUS**: Device online status.
              * **ORIENTATION**: Device orientation.
              * **PEER_RECOVERY**: Only available on Tizen.
              * **PLUGIN**: List of plugins running on the device, their version and data reported by them.
              * **POWER_ACTIONS_SCHEDULE**: Power actions schedule.
              * **PROPRIETARY_TIMERS**: Proprietary timers.
              * **PROXY**: Proxy configuration.
              * **REMOTE_CONTROL**: Remote control settings.
              * **RESOLUTION**: Display resolution.
              * **RUNNER**: List of runners running on the device, their version and data reported by them.
              * **RUNNER_CUSTOM**: List of runners running on the device, their version and custom telemetry data reported by them.
              * **STORAGE**: Storage information.
              * **SUPRA**: SUPRA mode connection and configuration status.
              * **TEMPERATURE**: Device temperature.
              * **TIMERS**: Timer settings.
              * **VOLUME**: Audio volume settings.
              * **WIFI_STRENGTH**: Wi-Fi signal strength.
            example: BRIGHTNESS
          required: true
          description: Type of telemetry data to retrieve
          example: BRIGHTNESS
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf: *ref_341
                discriminator: *ref_342
              example:
                deviceUid: f4a08a660c9e935abad3679001eff5646bfa657d5365aabf48749
                uid: dec419cdf9bbf8ad41001a9c04e54ad13f76cc45d7c80e78a21b8
                type: BRIGHTNESS
                createdAt: '2022-01-27T17:26:42.640Z'
                data:
                  brightness: 75
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/temperature:
    get:
      tags:
        - Device/Monitoring
      summary: Get Device Temperature
      description: |-
        Get all device temperature logs by `deviceUid`.

        Get logs of device temperature in time.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Device unique identification |
        | `createdSince` | Date | optional | Get all temperature logs since exact date (included) - Example: 2018-09-09T10:49:33.352Z |
        | `createdUntil` | Date | optional | Get all temperature logs until exact date (excluded) - Example: 2018-09-10T10:49:33.352Z |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: c960b3a75fd60c041a41d6fd98c894668bf94fc9c628d266db
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:13:59.493Z'
                - uid: d2943ded95b0cd12dade7d097718d4f224bd1096d949f15b7d
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:18:59.497Z'
                - uid: e039164dcd9985b74b9760346057c9b69f1b8e5b5acc3dab44
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:23:59.564Z'
                - uid: 0bf60f4ba8090a081e4233cad0abe6da3f155eec1c8ec60496
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:28:59.592Z'
                - uid: 31372513ad3b14453e25e31d27aec1e41da0143f0da3ecb3cd
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:33:59.660Z'
                - uid: f78824c60fb95eabfab7dfabd29f7692695666057ada8abf51
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:38:59.649Z'
                - uid: b4fd19e4daaa2841e7bbf7bd9e8132eac48c93f6d7a7a0eb53
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:43:59.737Z'
                - uid: f8d483162309d3a994bc729ec9b9f6803aa3c787673278b983
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:48:59.780Z'
                - uid: dd004e4556e465b2965721593cb57532ec00099f606a057269
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:53:59.783Z'
                - uid: 10704d280e43c20b6c43f7b94e80365835ea3f04370bca58aa
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T16:58:59.793Z'
                - uid: d61668dd9276ab4ac289b8983677c0bf85387f6235c5d048f1
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:03:59.884Z'
                - uid: 9a9198172f57d29358e010d8d526577de650fe111d60b1c90d
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:08:59.847Z'
                - uid: c6e56d4b29e852c9d354cb8a4a6962e808f20762cc00bf829a
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:13:59.904Z'
                - uid: 0f0c97a8a175b07c788d05d439aedbe8c906377a253fb8c428
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:18:59.949Z'
                - uid: 1a82dc355ac636cdf01d885b2b9bccf3ac4204902dd0d276ae
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:23:59.960Z'
                - uid: 8ff609316212bc87969af91531c32c0ed61cda3fcd3b6159ab
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:29:00.076Z'
                - uid: 5afe7025a20919f4fa5d0c9745af137c901378db2f1b004591
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:34:00.077Z'
                - uid: 80624f43d5afda8fc9000d5183e768004bee6327a3eaddb3e8
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:39:00.088Z'
                - uid: f224d45fbf31ea26e28907c7299723ac16d5cc78586cdd36e5
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:44:00.072Z'
                - uid: 1a8ed552119dd462f6b1d972ee06817e9f1548bef16a3dcd7b
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:49:00.173Z'
                - uid: 7d61ef5ce856274bce39a2cedd92db8e168044ab5e435e51b2
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:54:00.178Z'
                - uid: 27366b2bdb1055acc3b1fd8df7e9c4cef81ccd49ea52354298
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T17:59:00.205Z'
                - uid: 6e3922407c7a1ed610f39143df3bb3447d4f61eafac2d68999
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:04:00.194Z'
                - uid: 898f5717487543423004e493cf000b75ad6b6f2fe2ca235f1e
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:09:00.251Z'
                - uid: 7674219cd436512e6ed6125c52833b5f6a8816201bfb9809a0
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:14:00.266Z'
                - uid: 8007c1dac5275dff3e9b6b89020df55513deb0468bddada00f
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:19:00.266Z'
                - uid: 2751ec5d7adc21f04e8aaba4310b7bd6b8dd1eb0bbb13d8cff
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:24:00.346Z'
                - uid: f2e32ab4ffc51a93e685051cc0f95de305ee3d03368007dd68
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:29:00.336Z'
                - uid: 9d5afdddeda88713085b86bb3adcd53c914da0b05a3d26cc58
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:34:00.371Z'
                - uid: d131857b870f2137a3134a8e4955dd2e707a8920d6ac88929d
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:39:00.427Z'
                - uid: 019ad8506a63246f0657feea09602931f3974b8b8c1588c497
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:44:00.469Z'
                - uid: 084adaf0c3c9fc59c426cfd65dcd80d39dfbe1abfac129296b
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:49:00.430Z'
                - uid: e2d0e3ebd56fd131af14ef77faa320e43a1846024b1e26fd66
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:54:00.455Z'
                - uid: b84364db4292c4e10a4d728cc54b8d684418ab2609b17d5fd3
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T18:59:00.553Z'
                - uid: 067ed43985bd03b32b07964abdcb5547c7b88f65b43efed863
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:05:20.473Z'
                - uid: e826c6afddaa5d5e83f4e37ebe94e1eb610856d940cb685768
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:09:00.568Z'
                - uid: 5b813e1bc7212eee90bdb9bad6a35b2678435954f6772eae66
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:14:00.583Z'
                - uid: c5b83e3951480566520ec9459c999924749455c988cc6d103b
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:19:00.655Z'
                - uid: 44e81d563ef11f5fcccc8ed2968560546df9031901f068261b
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:24:00.765Z'
                - uid: f7ab6f472531699c5d92f1548c26ae9e2e99f92d15d6aac542
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:29:00.678Z'
                - uid: 4dea43400e4f969b3c1bf65253ec41158bcc8e2f745f65d7f3
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:34:00.689Z'
                - uid: cf280a9e6ee6840b69efa88badfba4fd97b71293669b9bfeb0
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:39:00.686Z'
                - uid: 4b25f027fa0241f02fc7d5843089074c50cbc5411882a2b282
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:44:00.799Z'
                - uid: 9b917bf45de5db6e641164f870db64639087609736a01fe61a
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:49:00.748Z'
                - uid: ef72d22a73ab35757da6cae66deaa1aec8ab38eec9b8af7b1c
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:54:00.836Z'
                - uid: fe5250d11728201619b4d94948eac1364e477e0b319ea8ac74
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T19:59:00.815Z'
                - uid: 0a4894ba135057613fb475a956c4258c70c5c2f18e08b651ca
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:04:00.866Z'
                - uid: 866dd2f23e89b42f6c72343bb6dfe0c4629164d5a5fa032ae1
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:09:00.902Z'
                - uid: 106d60952b72131b62ffc207a3fd7784b78a3ba0a28779d327
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:14:00.913Z'
                - uid: 69a84a4d4470cc24aa956df3ff97ac1e88bc214a560d10e300
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:19:00.922Z'
                - uid: d07b26ca8fd734ec85593870220c7bf682fd557d4fd26a17ac
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:24:00.950Z'
                - uid: 4ba0434db5cf2c868f69ed96a812b1e365033ca495a7fc8672
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:29:01.073Z'
                - uid: 6071ed7f2c07c20ca95d9ecab1468d38ab7e8a7d09ad8df83f
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:34:01.033Z'
                - uid: 24da68a42882bbd2ae7c89182a476d66eae0acf99ba997dde8
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:39:01.083Z'
                - uid: 96b6722b09bd87b182fca2ab57bd32a70de55e5b0d32c13226
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:44:01.085Z'
                - uid: 933813d50831819c17605a50a5a7b3b667930ef301589b5822
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 49
                  createdAt: '2021-11-20T20:49:01.123Z'
                - uid: 94ee54f2b554fbf4012220d3c7b752fa49820664e75d92754a
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:10:52.465Z'
                - uid: 9315f72e1aca759fdc066c6e54cb2400bb7401854687e362f6
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:15:52.501Z'
                - uid: a4cb88a2b0d87bd819a66c4c2698ba27605556361d1a683a73
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:20:55.331Z'
                - uid: b41eb29079cf23c46be5ab4dbaa1f170cc4976a6036fc25dc6
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:25:52.560Z'
                - uid: 7fc8a18eb3dd2ff74209e7e5106d3c3ed2c68a808073c6c14c
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:30:52.597Z'
                - uid: 155cc18dd078219a1073b0e87b4ba22dea6ea3b1efba9d9790
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:35:52.612Z'
                - uid: 907144722d1fbe455c8e3ee73a0b773e09e54b48f41f9b53b6
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:40:55.540Z'
                - uid: ebddeaa8985535921d9b68ff29c70376e6542104d29c73cce1
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:45:52.684Z'
                - uid: e3b4056872bf71d75e51c0fe6529f9941ca9313c4f5afadce4
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:50:54.041Z'
                - uid: ed81fe83c400106e7714c9fd14da621088e501b57c359f6104
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T04:55:52.734Z'
                - uid: 000944cff4f742781af1bbacbba65b0f32f7f0b51e98b7b2ec
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:00:57.692Z'
                - uid: e593be2b109029aa6312fd5e59a7e33cd5b762218cf70f100c
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:05:52.774Z'
                - uid: 9ba8db530a5faf282131a0b4400c63099cbe3aec4d0e11e1c3
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:10:52.769Z'
                - uid: bbccdc24c22cd830d17c815a53035f508e5837d2fd3d1a25ee
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:15:52.854Z'
                - uid: 8779bcbd3e43e9b8450d49cb893d4169040b2c50b307fb6d76
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:20:57.443Z'
                - uid: 8b79fdd814f6d01c70a33c8fd53ab3dd89b0fc4f7cf63463f1
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:25:52.926Z'
                - uid: 3377ca928f787adf156305770bc7521f012463f6476c5708dd
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:30:52.952Z'
                - uid: 14b5ae2108b3f7b861adc31bff9953f4d75b022b00aeef7628
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:35:53.006Z'
                - uid: 3fbdef38ce205963655e2f73baa96e3373aac1ddfe8fe32e0e
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:40:56.127Z'
                - uid: 757cd2d2562fcb16e94b0a7d005fb5ce8e5c619493468fda58
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:45:53.030Z'
                - uid: 691403097d411e632cd389a9558353e870d5e7c35a9e7345b9
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:50:53.027Z'
                - uid: e0862b0c075928d669387e068f331cac3533de8b218e6d600c
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T05:55:53.030Z'
                - uid: 535a93b14e9ba1a6bdec4b77847943b3f148ef39a653fc294c
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:00:58.652Z'
                - uid: e7e32c4d780d7ca4cc20ed715ba1b9c8fa15f2ccc63a60c6e0
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:05:53.083Z'
                - uid: 660b88f372aa0625c2e090753f8fe673cf5ddee4f44bb90aef
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:10:53.111Z'
                - uid: 21ac7766156e5b3ce6836f34f7dd8592ef2af7aa045be87499
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:15:53.148Z'
                - uid: f8780f4d099c02f7492b05f90d7b4187e1d2d18ee6273469e4
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:20:56.710Z'
                - uid: 697ebd152890ee0f563688cf2d5754b74fc4ceccc131c9c7ad
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:25:53.211Z'
                - uid: 930b4dbf0709052440f7ab794112b2d8dfae7b3f6026af53e3
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:30:53.261Z'
                - uid: 1ac40871b3519ae2209bc2c67d8f6926685612d8ee87000199
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:35:53.231Z'
                - uid: 4e8fffbef4160b470d1a1c257dcb211914864e66a50da8d4b2
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:40:56.249Z'
                - uid: 9d598b8a8c6aa4d817c66972670c2435721957caa566b56d70
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:45:53.326Z'
                - uid: 6b273a03a2a7417258cec9c2acc5e6e6efa09469a756ea6c51
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:50:53.314Z'
                - uid: c4dbbec1c88a1bda21b085d49ace261ef0096398e8e5ea6cd3
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T06:55:53.363Z'
                - uid: 0eab2c517e20b78078e4a4e99b209685e9d67655c92b61f8b8
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:00:58.097Z'
                - uid: 0673f9bea54ae79216480adcea13bb2cfe4edbe7fdb15cc23a
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:05:53.394Z'
                - uid: be945dedbfc455a29997e27bf80ec78ee91889ed9aaefec0b5
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:10:53.465Z'
                - uid: d551ffa1dd9cd251d238f901bb86226a396a5cc1b1d834e5dc
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:15:53.448Z'
                - uid: 1d577da33cc594175a739d12dd418b71eb249305261ae675ba
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:20:56.943Z'
                - uid: 2b6392e61c65c43fd3ba7e6aaa9e29c15ff4e9bb9c6f27b538
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:25:53.538Z'
                - uid: ae1c75414939d1cc0290077f720bfb0902ccf8bf8d94e0f9eb
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:30:53.560Z'
                - uid: 9374856f1278034e4f5e6fc3c506c4e11b015d38a087d24ab8
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:35:53.582Z'
                - uid: 85bddb78fc7be85d1e9f64025b3a02af175a092c85ae1ffdf1
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:40:56.825Z'
                - uid: 5b1e6436740fc2beb0b80155ec2d5e1f7292f63d93ec64cedd
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:45:53.601Z'
                - uid: 2f5e7dec889644930f62ceb4d74a800d88bbe60c07ede337f2
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:50:53.653Z'
                - uid: 7667752337439391940ebd513b84bde65d0291aec32c608775
                  deviceUid: 112da4f28b382951aa996be98eda4281b793017db0a917ded5397
                  temperature: 48
                  createdAt: '2021-11-27T07:55:53.681Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404052
                errorName: NO_DEVICE_TO_TEMPERATURES_LIST_READ
                errorDetail: No device found by identity hash specified in URI path thus list of device temperatures not to be read
  /v1/device/{deviceUid}/time:
    put:
      tags:
        - Device/Time
      summary: Update Device Time, Date and Timezone
      description: |-
        Request change device time by `deviceUid`

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |

        ## Body

        content-type: `application/json` or `application/x-www-form-urlencoded`

        | Field | Type | Description |
        | --- | --- | --- |
        | `time` | datetime - `YYYY-MM-DDTHH:MM:SS` | Set current device date & time e.g. 2017-11-22T09:26:49  <br>  <br>Input must be without timezone offset. The offset will be taken from the `timezone` parameter <br>Accepted formats are:  <br>\- `YYYY-MM-DDTHH:MM:SS.mmm` (2017-11-22T09:26:49.345)  <br>\- `YYYY-MM-DDTHH:MM:SS` (2017-11-22T09:26:49)  <br>\- `YYYY-MM-DDT:HH:MM` (2017-11-22T09:26) Will be set as 2017-11-22T09:26:00  <br>\- UNIX timestamp (1616140800000)  <br>\- SQL TIMESTAMP (2013-01-01 00:00:00.000) |
        | `timezone` | string - `{Continent}/{City}` | Set device timezone by the IANA - [List of all timezones can be found here](https://docs.signageos.io/hc/en-us/articles/4405381271314#list-of-timezones-available-on-the-tizen) - but read more about Tizen below. |
        | `ntpServer` | string | Optional NTP server, e.g.: pool.ntp.org |

        ### Remarks

        Setting NTP server and timezone has side effects:

        | Platform | Side effect |
        | --- | --- |
        | Tizen | After calling this API, display **Reboots**!  <br>  <br>Tizen has [limited set of available timezones](https://docs.signageos.io/hc/en-us/articles/4405381271314) |
        | RaspberryPi | After calling this API, RPi **Reboots backend server which can take up to 60 seconds**!  <br>During the reboot no JS API is available.  <br>Always wait for Promise resolution. |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                time: 2021-03-19T22:37
                timezone: Europe/Prague
                ntpServer: pool.ntp.org
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema: *ref_236
              description: Contains URL pointing to the result of this action. Keep making requests to this URL, until the response indicates, that the action was processed. For more information, refer to endpoint Get Device History.
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404016
                errorName: NO_DEVICE_TO_TIME_SET
                errorDetail: No device found by identity hash specified in URI path thus device time not to be set
    get:
      tags:
        - Device/Time
      summary: Get Device Time, Date and Timezone
      description: |-
        This method is used for get settings of timestamp and timezone on device by `devideUid`.

        > **Current device date** and time is available under `/device` endpoint

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: 537861f1697e06fcd29596eddae43225471f572acbfa5a593b
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  timestamp: 1616207820000
                  timezone: US/Eastern
                  createdAt: '2021-04-27T02:27:18.374Z'
                  failedAt: '2021-04-27T02:27:23.034Z'
                - uid: 4b69737094dc17af9a0daafcdefab1c51cea395d26ae86a224
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  timestamp: 1616207820000
                  timezone: US/Eastern
                  createdAt: '2021-04-26T16:59:57.952Z'
                  failedAt: '2021-04-26T17:00:02.289Z'
                - uid: 18bc299f9361033b250515572bbb324ae1e6dc47f2f9080008
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  timestamp: 1616207820000
                  timezone: US/Eastern
                  createdAt: '2021-04-25T23:39:38.815Z'
                  failedAt: '2021-04-25T23:39:39.013Z'
                - uid: bb7760902830766fe3f63999e1cf6401a94502a44fb4957e99
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  timestamp: 1616207820000
                  timezone: US/Eastern
                  createdAt: '2021-04-25T23:31:54.196Z'
                  failedAt: '2021-04-25T23:31:54.551Z'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404015
                errorName: NO_DEVICE_TO_TIME_READ
                errorDetail: No device found by identity hash specified in URI path thus device time not to be read
  /v1/device/{deviceUid}/timer-settings:
    put:
      tags:
        - Device/Timers
      summary: Create, Update and Remove Device Timer
      description: |-
        When the device should be woken up and when to turn it off to standby.

        This endpoint is used for **adding** the Timers and also for **removing** Timers.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |

        ## Body

        content-type: application/json or application/x-www-form-urlencoded

        | Field | Type | Description |
        | --- | --- | --- |
        | `type` | string - ‘TIMER_1’, ‘TIMER_2’, ‘TIMER_3’, ‘TIMER_4’, ‘TIMER_5’, ‘TIMER_6’, ‘TIMER_7’ | Which of seven timers you would like to set |
        | `timeOn` | time / NULL, HH:MM:SS / NULL | Wake up time for selected timer |
        | `timeOff` | time / NULL, HH:MM:SS / NULL | Turn off time for selected timer |
        | `volume` | number / 0-100 | Volume, if device has speakers |
        | `weekdays` (weekdays\[0-6\] - for x-www-form-urlencoded) | string\[\] / ex.: sun, mon, tue, wed, thu, fri, sat | For which days the timer should be applied |
        | `level` | string - ‘NATIVE’ / ‘PROPRIETARY’ | Should the device turn off completely or should it just turn off the display |

        ## How to remove Timers

        Set `timeOn` and `timeOff` for respective type (TIMER_1, TIMER_2,..) to `NULL`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                type: TIMER_1
                timeOn: '08:00:00'
                timeOff: '23:00:00'
                volume: '50'
                weekdays:
                  - mon
                  - tue
                  - wed
                level: PROPRIETARY
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404064
                errorName: NO_DEVICE_TO_TIMER_SETTINGS_SET
                errorDetail: No device found by idenitity hash specified in URI path thus device timer settings not to be set
    get:
      tags:
        - Device/Timers
      summary: Get Device Timers
      description: |-
        List of device timer sets when the device should be woken up and when to turn it off. This retrieves previously set timers.

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `deviceUid` | string | required | Unique Device Identification |
      security:
        - XAuthOrganization: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - uid: f97377723257be1b0efaf0272d9567b3b43e0a1686eb80e41b
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  createdAt: '2021-04-27T02:33:13.619Z'
                  succeededAt: null
                  failedAt: null
                  type: TIMER_1
                  level: PROPRIETARY
                  timeOn: '08:00:00'
                  timeOff: '23:00:00'
                  weekdays:
                    - mon
                    - tue
                    - wed
                  volume: 50
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404063
                errorName: NO_DEVICE_TO_TIMER_SETTINGS_LIST_READ
                errorDetail: No device found by identity hash specified in URI path thus list of device timer settings not to be read
  /v1/device/{deviceUid}/volume:
    put:
      tags:
        - Device/Volume
      summary: Change Device Volume on Device
      description: Set Device Volume on the Device by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                volume:
                  type: number
                  minimum: 0
                  maximum: 100
                  example: 90
              example:
                volume: 90
              required:
                - volume
      responses:
        '200':
          description: OK message with link in header
          headers: *ref_245
          content: *ref_246
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Device/Volume
      summary: Get History of Device Volume Changes
      description: Get History of Device Volume Changes by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: *ref_343
                  required: *ref_344
              example:
                - uid: 33bc149a44a3948a57a8b7083fe73fb17d5fe98d6066d86cb1
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  createdAt: '2021-04-30T01:31:35.756Z'
                  succeededAt: null
                  failedAt: '2021-04-30T01:31:35.955Z'
                  createdBy:
                    account:
                      accountId: 1
                      email: john.doe@signageos.io
                      name: John Doe
                  originator:
                    account:
                      accountId: 1
                      email: john.doe@signageos.io
                      name: John Doe
                  volume: 90
                - uid: 8020ec86df621d014c1703d9733d17fd4077bf41d61a551f21
                  deviceUid: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  createdAt: '2021-04-30T01:30:33.709Z'
                  succeededAt: null
                  failedAt: '2021-04-30T01:30:34.103Z'
                  volume: 50
                  createdBy:
                    account:
                      accountId: 2
                      email: john.appleseed@signageos.io
                      name: John Appleseed
                  originator:
                    account:
                      accountId: 2
                      email: john.appleseed@signageos.io
                      name: John Appleseed
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/volume/count:
    get:
      tags:
        - Device/Volume
      summary: Count Device Volume Changes
      description: Count how many times Device Volume was changed
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/volume/latest:
    get:
      tags:
        - Device/Volume
      summary: Get latest Device Volume Change
      description: Get latest Device Volume Change by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_343
                required: *ref_344
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/device/{deviceUid}/vpn:
    parameters:
      - name: deviceUid
        in: path
        schema: *ref_10
        required: true
        example: '{{deviceUid}}'
    get:
      tags:
        - Device/VPN
      summary: Get VPN settings
      description: |-
        Get VPN settings for current Organization by `deviceUid`.
        ## Parameters
        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `deviceUid` | string | required | device application id |
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    deviceUid:
                      type: string
                    enabled:
                      type: boolean
                      nullable: false
              example:
                - enabled: true
                  deviceUid: 1234567890423d4171e348d6a1a1222e3b0075c8d7ebac868a
        '401':
          description: Access forbidden
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 401
                message: Authorization error - Device is not under requested organization
                errorCode: 401034
                errorName: INSUFFICIENT_TO_GET_DEVICE_ORGANIZATION
                errorDetail: Authenticated account does not have permissions to get device organization
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Provisioning recipe with ${uid} not found
                errorCode: 404234
                errorName: NO_PROVISIONING_RECIPE_TO_READ
                errorDetail: No provisioning recipe found for deviceUid specified in URI path
    put:
      tags:
        - Device/VPN
      summary: Update VPN settings
      description: |-
        Update existing VPN settings
        ## Parameters
        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `deviceUid` | string | required | device application id |
        ## Body
        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `enable` | boolean | required |  |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                enable:
                  type: boolean
                  nullable: false
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: Modified
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Invalid request body - enable - Required
                errorCode: 400301
                errorName: INVALID_BODY_PROPERTIES
                errorDetail: Received invalid body properties enable.
        '401':
          description: Access forbidden
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 401
                message: Authorization error - Device is not under requested organization
                errorCode: 401034
                errorName: INSUFFICIENT_TO_GET_DEVICE_ORGANIZATION
                errorDetail: Authenticated account does not have permissions to get device organization
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404236
                errorName: NO_DEVICE_TO_VPN_READ
                errorDetail: No device found by identity hash specified in URI path thus device VPN settings not to be read
  /v1/emulator:
    post:
      tags:
        - Emulator
      summary: Create new emulator
      description: Create a new emulator in your organization.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organizationUid:
                  type: string
                  description: The UID of the organization.
                  example: d2261a2052d3ab986e1dadbd9b9185400b38
              required:
                - organizationUid
      security:
        - XAuthAccount: []
      responses:
        '201':
          description: Created
          content: *ref_151
    get:
      tags:
        - Emulator
      summary: Get list of emulators
      description: Get all emulators within your organization.
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: organizationUid
          in: query
          description: |-
            Organization UID
            Use `organizationUids` instead. This parameter is deprecated and will be removed in the future.
          deprecated: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    duid:
                      type: string
                    name:
                      type: string
                      nullable: true
                    createdAt:
                      type: string
                      format: date-time
                  required:
                    - uid
                    - duid
                    - createdAt
              example:
                - uid: c0752280cc7d009c57422be6927b660d7d71456d76b5e23c98a2c
                  duid: 2221b195b6350a6c71318e56e4d493a585f42b6d9c3873b5a85
                  name: Test Emulator
                  createdAt: '2021-04-18T22:26:39.405Z'
                - uid: f66f0737ea50d13b6298383c98a2c590ec137b18a2b5a85a8a5a85
                  duid: 95ab223dcccb9591bc25907475f027502482df668df668dfe834
                  name: null
                  createdAt: '2020-01-13T12:52:29.839Z'
        '404':
          description: Not Found
          content: *ref_4
  /v1/emulator/{emulatorUid}:
    delete:
      tags:
        - Emulator
      summary: Remove emulator
      description: Delete specific emulator by `emulatorUid`.
      security:
        - XAuthAccount: []
      parameters:
        - name: emulatorUid
          in: path
          schema:
            type: string
          required: true
          example: '{{emulatorUid}}'
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/export/device:
    post:
      tags:
        - Export
      summary: Request export of list of devices
      description: Request export of devices in the current organization as an asynchronous operation. The response contains a Link header with a URL to check the export status, which will provide the download URL once the export is ready.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organizationUids:
                  type: array
                  items:
                    type: string
                  description: Organization UIDs to export devices from. Required for account authentication  (account can access multiple organizations). Optional for organization authentication  (defaults to the authenticated organization).
                filter:
                  type: object
                  properties:
                    applicationType:
                      deprecated: true
                      description: Use applicationTypes instead. This field is deprecated.
                      type: string
                      enum: *ref_27
                    applicationTypes:
                      type: array
                      items:
                        type: string
                      description: Filter devices by application types.
                    search:
                      type: string
                    model:
                      type: string
                    brand:
                      type: string
                      deprecated: true
                      description: Use brands instead. This field is deprecated.
                    brands:
                      type: array
                      items:
                        type: string
                      description: Filter devices by brand names.
                    osVersion:
                      type: string
                      deprecated: true
                      description: Use osVersions instead. This field is deprecated.
                    osVersions:
                      type: array
                      items:
                        type: string
                      description: Filter devices by OS versions.
                    serialNumber:
                      type: string
                    firmwareVersion:
                      type: string
                    firmwareType:
                      type: string
                      description: Filter devices by firmware type.
                    locationUid:
                      type: string
                      deprecated: true
                      description: Use locationUids instead. This field is deprecated and will be removed in a future version.
                    locationUids:
                      type: array
                      items:
                        type: string
                    appletUids:
                      type: array
                      items:
                        type: string
                    activeAppletVersion:
                      type: string
                      description: Filter devices by active applet version.
                    policyUids:
                      type: array
                      items:
                        type: string
                    hasPolicy:
                      type: boolean
                      description: Filter devices that have or do not have a policy assigned.
                    tagUids:
                      type: array
                      items:
                        type: string
                    alertUid:
                      type: string
                    online:
                      type: boolean
                      description: Filter devices by online status.
                fields:
                  type: array
                  items:
                    type: string
                    enum:
                      - system
                      - name
                      - organizationName
                      - organizationTitle
                      - organizationUid
                      - uid
                      - model
                      - firmwareVersion
                      - firmwareType
                      - applicationVersion
                      - serialNumber
                      - pinCode
                      - currentTime
                      - timezone
                      - wifi
                      - ethernet
                      - status
                      - lastPing
                      - provisionedAt
                      - connectionType
                      - applet
                      - appletVersion
                      - ssid
                      - wifiStrength
                      - brand
                      - osVersion
                      - location
                      - tags
                      - policy
                      - locationAddress
                      - locationGPS
                      - locationCustomId
                      - managementPackageVersion
                      - frontPackageVersion
                      - frontDisplayVersion
                      - duid
              example:
                filter:
                  applicationType: webos
                  applicationTypes:
                    - webos
                    - tizen
                  search: test
                  model: test
                  brand: test
                  brands:
                    - Samsung
                    - LG
                  osVersion: test
                  osVersions:
                    - '1.0'
                    - '2.0'
                  serialNumber: test
                  firmwareVersion: test
                  firmwareType: test
                  locationUid: test
                  locationUids:
                    - test
                  appletUids:
                    - test
                  activeAppletVersion: 1.0.0
                  policyUids:
                    - test
                  hasPolicy: true
                  tagUids:
                    - test
                  online: true
                fields:
                  - system
                  - name
                  - organizationName
                  - organizationTitle
                  - organizationUid
                  - uid
                  - model
                  - firmwareVersion
                  - firmwareType
                  - applicationVersion
                  - serialNumber
                  - pinCode
                  - currentTime
                  - timezone
                  - wifi
                  - ethernet
                  - status
                  - lastPing
                  - provisionedAt
                  - connectionType
                  - applet
                  - appletVersion
                  - ssid
                  - wifiStrength
                  - brand
                  - osVersion
                  - location
                  - tags
                  - policy
                  - locationAddress
                  - locationGPS
                  - locationCustomId
                  - managementPackageVersion
                  - frontPackageVersion
                  - frontDisplayVersion
                  - duid
      responses:
        '200':
          headers:
            link:
              schema:
                type: string
              description: Link to the export result
              example: <https://api.signageos.test/v1/export/8f7d1023db2430eb3d7e8734bbbba899781f>; rel="result"
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: OK
          description: Success
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/export/{uid}:
    get:
      tags:
        - Export
      summary: Get export
      description: Get the export result if ready, otherwise the response indicates whether the export is ready, pending or has failed. Poll this endpoint after creating an export request until the export is resolved.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uid
          in: path
          schema:
            type: string
          required: true
          example: '{{uid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - title: Export Success
                    type: object
                    properties:
                      uid:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      succeededAt:
                        type: string
                        format: date-time
                      uri:
                        type: string
                      status:
                        type: string
                        enum:
                          - success
                    required:
                      - uid
                      - createdAt
                      - succeededAt
                      - uri
                      - status
                  - title: Export Failed
                    type: object
                    properties:
                      uid:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      failedAt:
                        type: string
                        format: date-time
                      errorMessage:
                        type: string
                      status:
                        type: string
                        enum:
                          - failed
                    required:
                      - uid
                      - createdAt
                      - failedAt
                      - errorMessage
                      - status
                  - title: Export Pending
                    type: object
                    properties:
                      uid:
                        type: string
                      createdAt:
                        type: string
                        format: date-time
                      status:
                        type: string
                        enum:
                          - pending
                    required:
                      - uid
                      - createdAt
                      - status
              example:
                uid: e286bcc40506c43f238146fd1a663cd6630e
                createdAt: '2021-05-25T08:28:50.372Z'
                succeededAt: '2021-05-25T08:28:50.372Z'
                uri: https://example.com/export/e286bcc40506c43f238146fd1a663cd6630e.csv
                status: success
        '202':
          description: Processing
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
                  status:
                    type: string
                    enum:
                      - pending
              example:
                uid: e286bcc40506c43f238146fd1a663cd6630e
                createdAt: '2021-05-25T08:28:50.372Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/firmware/version:
    get:
      deprecated: true
      tags:
        - Firmware
      summary: Get Firmwares
      description: Deprecated, use V2 version instead. Get all available firmware versions
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: applicationType
          in: query
          schema:
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
        - name: version
          in: query
          schema:
            type: string
        - name: type
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    applicationType:
                      type: string
                      enum: *ref_27
                      description: |
                        Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                    version:
                      type: string
                    type:
                      type: string
                    releasedAt:
                      type: string
                      format: date-time
                    createdAt:
                      type: string
                      format: date-time
                  required:
                    - uid
                    - applicationType
                    - version
                    - createdAt
              example:
                - uid: 5e7795e88a27353ce3a3fbe2
                  createdAt: '2018-07-09T14:56:26.000Z'
                  applicationType: tizen
                  version: T-HKMLAKUC-2020.5
                - uid: 5e7795e83a71b992779cc7c5
                  createdAt: '2018-07-11T10:41:02.000Z'
                  applicationType: webos
                  version: 04.02.20
  /v1/js-sdk/version:
    get:
      tags:
        - Front Applet
      summary: Get JS API Versions
      description: Get list of all available JS API versions
      security:
        - XAuthAccount: []
      parameters:
        - name: publishedOnly
          in: query
          schema:
            type: boolean
          description: By default endpoint returns only released versions. Set this parameter to false in order to return all versions.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    version:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    releasedAt:
                      type: string
                      format: date-time
                  required:
                    - version
                    - createdAt
              example:
                - version: 1.0.0
                  createdAt: '2017-05-24T08:58:56.994Z'
                  releasedAt: '2017-05-25T08:58:56.994Z'
  /v1/license:
    get:
      tags:
        - License
      summary: Get licenses
      description: Get all licenses
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: deleted
          in: query
          schema: *ref_162
        - name: companyNetworkUid
          in: query
          schema:
            type: string
          description: Filter by company network UID
        - name: companyUid
          in: query
          schema:
            type: string
          description: Filter by company UID that activated the license
        - name: description
          in: query
          schema:
            type: string
          description: Filter by description
        - name: status
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - active
                - expired
                - used
          style: form
          explode: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_345
                    uid:
                      type: string
                    companyNetworkUid:
                      type: string
                    licenseType:
                      type: string
                      enum:
                        - trial
                        - production
                    licenseKey:
                      type: string
                    credit:
                      type: number
                    validity:
                      type: object
                      properties:
                        activeSince:
                          type: string
                          format: date-time
                        expiresAt:
                          type: string
                          format: date-time
                    description:
                      type: string
                    activatedBy:
                      type: object
                      properties:
                        accountId:
                          type: number
                        companyUid:
                          type: string
                        at:
                          type: string
                          format: date-time
                      required:
                        - companyUid
                        - at
                    createdAt:
                      type: string
                      format: date-time
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedAt:
                      type: string
                      format: date-time
                    updatedBy:
                      type: object
                      properties: *ref_157
                  required: &ref_346
                    - uid
                    - companyNetworkUid
                    - licenseKey
                    - credit
                    - createdAt
                    - updatedAt
    post:
      tags:
        - License
      summary: Create license
      description: Creates a license.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                companyNetworkUid:
                  type: string
                  description: ID of a company network
                licenseType:
                  type: string
                  enum:
                    - trial
                    - production
                  description: Type of license (trial, production)
                credits:
                  type: number
                  description: Number of credits to be assigned to the license
                  minimum: 1
                  maximum: 2000000
                description:
                  type: string
                  description: Additional information about the license
                  maxLength: 500
                validity:
                  type: object
                  description: This object enables license creator to restrict license validity. It can be valid from some date in the future and it can also expire on some date. Both fields are optional.
                  properties:
                    activeSince:
                      type: string
                      format: date-time
                    expiresAt:
                      type: string
                      format: date-time
              required:
                - companyNetworkUid
                - licenseType
                - credits
              example:
                companyNetworkUid: company-network-123
                licenseType: trial
                credits: 10
                description: license for company 123
                validity:
                  activeSince: '2025-01-01T00:00:00Z'
                  expiresAt: '2026-01-01T00:00:00Z'
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/license/count:
    get:
      tags:
        - License
      summary: Count licenses
      description: Count licenses
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: deleted
          in: query
          schema: *ref_162
        - name: companyNetworkUid
          in: query
          schema:
            type: string
          description: Filter by company network UID
        - name: companyUid
          in: query
          schema:
            type: string
          description: Filter by company UID that activated the license
        - name: description
          in: query
          schema:
            type: string
          description: Filter by description
        - name: status
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - active
                - valid
                - used
          style: form
          explode: false
      responses:
        '200':
          description: OK
          content: *ref_152
  /v1/license/redeem:
    post:
      tags:
        - License
      summary: Redeem license
      description: Redeems a license for a company by a license key.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                licenseKey:
                  type: string
                  description: License key to be redeemed
                companyUid:
                  type: string
                  description: UID of the company
              required:
                - licenseKey
                - companyUid
            example:
              licenseKey: 8566D-9RPSY-39N95-2HAJR-715D8
              companyUid: o45563j45oi4567u6453452o55i34j33
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/license/{licenseUid}:
    get:
      tags:
        - License
      summary: Get license
      description: Gets license by `licenseUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: licenseUid
          in: path
          schema: &ref_347
            type: string
            description: Unique license identification
          required: true
          example: '{{licenseUid}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_345
                required: *ref_346
              example:
                uid: 9hgd8f76hdf87g6h89dfg7h987d6fghe
                createdBy:
                  account:
                    accountId: 123456
                    email: test@test.com
                    name: Test User
                  organization:
                    uid: company-network-123
                    title: Company Network
                companyNetworkUid: company-network-123
                licenseType: trial
                licenseKey: 8566D-9RPSY-39N95-2HAJR-715D8
                description: license for company 123
                validity:
                  activeSince: '2025-01-01T00:00:00Z'
                  expiresAt: '2026-01-01T00:00:00Z'
                createdAt: '2025-01-01T11:00:00.000Z'
                credit: 100
                updatedAt: '2025-01-01T11:00:00.000Z'
                activatedBy:
                  accountId: 123456
                  companyUid: company-123
                  at: '2025-06-01T11:00:00.000Z'
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - License
      summary: Delete one license
      description: Deletes one license by `licenseUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: licenseUid
          in: path
          schema: *ref_347
          required: true
          example: '{{licenseUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location:
    get:
      tags:
        - Location
      summary: Get Locations
      description: Get all locations
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: deleted
          in: query
          schema: *ref_162
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
        - name: tagsWithChildrenUids
          description: Each array inside the array should represent a group of a tag uids and its children tag uids. This argument allows inclusion of all locations that have at least one tag from each family tree.
          in: query
          schema:
            type: array
            items:
              type: array
              items:
                type: string
        - name: cities
          in: query
          schema:
            type: array
            items:
              type: string
        - name: states
          in: query
          schema:
            type: array
            items:
              type: string
        - name: countries
          in: query
          schema:
            type: array
            items:
              type: string
        - name: name
          in: query
          schema:
            type: string
        - name: customId
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: *ref_348
                  required: *ref_349
              example:
                - uid: 7ebd44a3c6f0397eadce3b4c4ff0edf299ac
                  name: test location (2)
                  feature:
                    type: Feature
                    properties:
                      name: Interactions
                      amenity: methodologies recontextualize
                      popupContent: National logistical Lodge deposit
                    geometry:
                      type: Point
                      coordinates:
                        - -23.156950000000002
                        - -7.401640000000001
                  city: South Alvah
                  countryCode: AT
                  organizationUid: 9adaf389cbfffc81ca92e9563bc83df669c8
                  customId: fb2ff797-da5b-40fa-8f3a-1306a5bc1a08
                  attachments:
                    - attachment
                  description: Research
                  tagUids:
                    - 5546473450c423e619cc427b498adc5c22d0
                  createdAt: '2022-01-01T11:00:00.000Z'
                  updatedAt: '2022-01-01T11:00:00.000Z'
                - uid: 7f80619861d76991dfb599b881cb913a7bc9
                  name: test location (3)
                  feature:
                    type: Feature
                    properties:
                      name: Response
                      amenity: initiatives Estates
                      popupContent: task-force Account Internal Fuerte
                    geometry:
                      type: Point
                      coordinates:
                        - -141.51887000000002
                        - -15.216120000000002
                  city: East Cecile
                  countryCode: TZ
                  organizationUid: 9adaf389cbfffc81ca92e9563bc83df669c8
                  customId: 1c91426e-3746-4d9b-a327-17edeaa9e8b5
                  attachments:
                    - attachment
                  description: Data
                  tagUids:
                    - 5546473450c423e619cc427b498adc5c22d0
                  createdAt: '2022-01-01T10:30:00.000Z'
                  updatedAt: '2022-01-01T11:30:00.000Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Location
      summary: Create Location
      description: Create a new location. Either 'address' or 'coordinates' must be provided, but not both.
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  title: address
                  required:
                    - name
                    - address
                  properties:
                    organizationUid:
                      type: string
                      description: Required if authenticating as an Account
                    name:
                      type: string
                      description: Name of the location
                    address:
                      type: string
                      description: This field is mutually exclusive with 'coordinates'. Only one can be in the payload.
                    customId:
                      type: string
                      description: Unique id which might be used e.g. for referencing the device to other systems
                    description:
                      type: string
                      description: Any additional info about the location
                    attachments:
                      type: array
                      items:
                        type: string
                      description: List of attachment file identifiers
                - type: object
                  title: coordinates
                  required:
                    - name
                    - coordinates
                  properties:
                    organizationUid:
                      type: string
                      description: Required if authenticating as an Account
                    name:
                      type: string
                      description: Name of the location
                    coordinates:
                      type: object
                      description: This field is mutually exclusive with 'address'. Only one can be in the payload. Range from -90 to 90 for latitude and -180 to 180 for longitude.
                      properties:
                        long:
                          type: number
                          description: Longitude (-180 to 180)
                        lat:
                          type: number
                          description: Latitude (-90 to 90)
                      required:
                        - long
                        - lat
                    customId:
                      type: string
                      description: Unique id which might be used e.g. for referencing the device to other systems
                    description:
                      type: string
                      description: Any additional info about the location
                    attachments:
                      type: array
                      items:
                        type: string
                      description: List of attachment file identifiers
            examples:
              coordinates_example:
                summary: Location with coordinates
                value:
                  name: test location
                  coordinates:
                    long: -122.40492
                    lat: 37.78119
                  customId: custom-id-123
                  description: description note
              address_example:
                summary: Location with address
                value:
                  name: test location
                  address: Howard Street, San Francisco, CA, USA
                  customId: custom-id-123
                  description: description note
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/count:
    get:
      tags:
        - Location
      summary: Count Locations
      description: Count Locations
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/organization-tags:
    get:
      tags:
        - Location
      summary: Get location tags
      description: Lists all tags assigned to location.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_351
                    uid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    organizationUid:
                      type: string
                    name:
                      type: string
                    color:
                      type: string
                    parentTagUid:
                      type: string
                    assignedDevicesCount:
                      type: integer
                      description: Number of devices assigned to this tag
                    assignedLocationsCount:
                      type: integer
                      description: Number of locations assigned to this tag
                    assignedPoliciesCount:
                      type: integer
                      description: Number of policies assigned to this tag
                    assignedContentGuardItemsCount:
                      type: integer
                      description: Number of content guard items assigned to this tag
                  required: &ref_352
                    - uid
                    - createdAt
                    - updatedAt
                    - organizationUid
                    - name
                    - assignedDevicesCount
                    - assignedLocationsCount
                    - assignedPoliciesCount
                    - assignedContentGuardItemsCount
              example: &ref_353
                - uid: 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
                  organizationUid: 48889e30b1423d4171e348d6a1a1222e3b0075c8d7abcc868a
                  name: example
                  createdAt: '2022-07-22T13:00:00.000Z'
                  updatedAt: '2022-07-22T13:00:00.000Z'
                  assignedDevicesCount: 0
                  assignedLocationsCount: 0
                  assignedPoliciesCount: 0
                  assignedContentGuardItemsCount: 0
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/organization-tags/count:
    get:
      tags:
        - Location
      summary: Count location tags
      description: Returns the count of tags assigned to a location.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/{locationUid}:
    get:
      tags:
        - Location
      summary: Get Location
      description: Get a specific location by its unique identifier.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: &ref_350
            type: string
          required: true
          example: '{{locationUid}}'
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: deleted
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_348
                required: *ref_349
              example:
                uid: 7ebd44a3c6f0397eadce3b4c4ff0edf299ac
                name: test location (2)
                feature:
                  type: Feature
                  properties:
                    name: Interactions
                    amenity: methodologies recontextualize
                    popupContent: National logistical Lodge deposit
                  geometry:
                    type: Point
                    coordinates:
                      - -23.156950000000002
                      - -7.401640000000001
                city: South Alvah
                countryCode: AT
                organizationUid: 9adaf389cbfffc81ca92e9563bc83df669c8
                customId: fb2ff797-da5b-40fa-8f3a-1306a5bc1a08
                attachments:
                  - attachment
                description: Research
                tagUids:
                  - 5546473450c423e619cc427b498adc5c22d0
                createdAt: '2022-01-01T11:00:00.000Z'
                updatedAt: '2022-01-01T11:00:00.000Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Location
      summary: Update Location
      description: Update an existing location. Either 'address' or 'coordinates' can be provided, but not both.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the location
                coordinates:
                  type: object
                  description: This field is mutually exclusive with 'address'. Only one can be in the payload. Range from -90 to 90 for latitude and -180 to 180 for longitude.
                  properties:
                    lat:
                      type: number
                      description: Latitude (-90 to 90)
                      example: 37.78119
                    long:
                      type: number
                      description: Longitude (-180 to 180)
                      example: -122.40492
                  required:
                    - lat
                    - long
                organizationUid:
                  type: string
                  description: Organization UID
                address:
                  type: string
                  description: This field is mutually exclusive with 'coordinates'. Only one can be in the payload.
                customId:
                  type: string
                  description: Unique id which might be used e.g. for referencing the device
                  minLength: 1
                  maxLength: 256
                description:
                  type: string
                  description: Any additional info about the location
              example:
                name: test location
                coordinates:
                  lat: 37.78119
                  long: -122.40492
                organizationUid: org-uuid-123
                customId: custom-id-123
                description: description note updated
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Location
      summary: Delete Location
      description: Delete a specific location by its unique identifier.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/{locationUid}/add-attachment:
    put:
      tags:
        - Location
      summary: Add Attachment to Location
      description: Add one file attachment to location
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
      requestBody:
        description: Accepts only binary image files
        content:
          image/*:
            schema:
              type: string
              format: binary
              description: Only Content-type of 'image/png', 'image/jpeg' or 'image/gif' is allowed
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
  /v1/location/{locationUid}/archive:
    put:
      deprecated: true
      tags:
        - Location
      summary: Archive Location
      description: '**This endpoint is deprecated, please use ''Delete'' endpoint instead** Archives a location by its unique identifier. The location UID is provided as a path parameter.'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '401':
          description: Bad request
          content: *ref_8
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/{locationUid}/organization-tag:
    get:
      tags:
        - Location
      summary: Get location tags
      description: Lists all tags assigned to a specific location.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: *ref_351
                  required: *ref_352
              example: *ref_353
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/{locationUid}/organization-tag/count:
    get:
      tags:
        - Location
      summary: Count location tags
      description: Counts all tags assigned to a specific location.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/{locationUid}/organization-tag/{tagUid}:
    put:
      tags:
        - Location/Tag
      summary: Assign tag to location
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: {}
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
        - name: tagUid
          in: path
          schema:
            type: string
          required: true
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Location/Tag
      summary: Remove tag from location
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
        - name: tagUid
          in: path
          schema:
            type: string
          required: true
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/{locationUid}/remove-attachments:
    put:
      tags:
        - Location
      summary: Remove Attachments from Location
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                attachmentsToRemove:
                  type: array
                  items:
                    type: string
              required:
                - attachmentsToRemove
              example:
                attachmentsToRemove:
                  - location/attachment-uid_1.png
                  - location/attachment-uid_1.jpeg
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
      responses:
        '204':
          description: No content
  /v1/location/{locationUid}/restore:
    put:
      tags:
        - Location
      summary: Restore Location
      description: Restore a specific location by its unique identifier.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/location/{locationUid}/unarchive:
    put:
      deprecated: true
      tags:
        - Location
      summary: Unarchive Location
      description: '**This endpoint is deprecated, please use ''Restore'' endpoint instead** Unarchives a location by its unique identifier. The location UID is provided as a path parameter.'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: locationUid
          in: path
          schema: *ref_350
          required: true
          example: '{{locationUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '401':
          description: Bad request
          content: *ref_8
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization:
    post:
      tags:
        - Organization
      summary: Create Organization
      description: Create a new Organization for the current account
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Organization name. Can contain only letters and numbers separated by dashes and must start and end with a letter or a number.
                  minLength: 2
                  maxLength: 255
                title:
                  type: string
                  description: Organization title
                  minLength: 2
                  maxLength: 255
              required:
                - name
                - title
              example:
                name: my-organization
                title: My new organization
      security:
        - XAuthAccount: []
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Organization
      summary: Get Organizations
      description: Get all Organizations for the current account
      security:
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: lastId
          in: query
          schema: *ref_354
          example: df195h3d8pdh55hgp94fgdc644o3f5og799d9pec8292h2cc7a
        - name: organizationUid
          in: query
          schema:
            type: string
          description: This parameter is deprecated and will be removed in the future. Use `organizationUids` instead. Filter by organization uid.
        - name: name
          in: query
          description: Filter by organization name
          schema:
            type: string
        - name: title
          in: query
          description: Filter by organization title
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_359
                    uid:
                      type: string
                    name:
                      type: string
                    title:
                      type: string
                    oauthClientId:
                      type: string
                    oauthClientSecret:
                      type: string
                    productionSince:
                      type: string
                      format: date-time
                    createdAt:
                      type: string
                      format: date-time
                    archivedAt:
                      type: string
                      format: date-time
                      deprecated: true
                      description: This field is deprecated and will be removed in the future.
                    parentUid:
                      type: string
                    subscriptionType:
                      type: string
                      description: Type of subscription for the organization, relevant for organization only.
                      enum: &ref_355
                        - open
                        - basic
                        - medium
                        - all
                        - platform
                    defaultSubscriptionType:
                      description: Default subscription for the organization
                      type: string
                      enum: *ref_355
                    iconUrl:
                      type: string
                      nullable: true
                    defaultLocationMarker:
                      type: string
                      description: Type of location marker (pin). Every value represents one of our custom pin icons
                      enum:
                        - pin
                        - airport
                        - hospital
                        - car
                        - bank
                        - office
                        - gas_station
                        - cart
                        - drive_through
                        - food
                      nullable: true
                    organizationFeatureEntitlements:
                      description: Additional feature entitlements enabled for the organization.
                      type: array
                      items: *ref_356
                    deviceNameTemplate:
                      type: string
                    devicePlan:
                      type: object
                      required: *ref_357
                      properties: *ref_358
                    isLabEnabled:
                      type: boolean
                    maxDevicesCount:
                      type: number
                    vpnServerNameTag:
                      type: string
                    deviceCount:
                      type: integer
                    userCount:
                      type: integer
                    locationCount:
                      type: integer
                    tagCount:
                      type: integer
                    pluginCount:
                      type: integer
                    runnerCount:
                      type: integer
                  required: &ref_360
                    - uid
                    - name
                    - title
                    - createdAt
                  example: &ref_361
                    uid: 9fefb9905b6195c5f77062a40c6fee79abc0
                    name: zEh88XYPcQ_signageOS_Organization
                    title: signageOS Organization
                    createdAt: '2024-09-15T21:07:16.496Z'
                    oauthClientId: uBIHzhrTZF
                    oauthClientSecret: afeQ2Aiay09vAWf
                    parentUid: 989e5bc65bc563a62ed5b73a732b997539ba
                    subscriptionType: open
                    organizationFeatureEntitlements:
                      - scripts
                      - remoteDesktop
                    devicePlan:
                      id: basic
                      title: Basic Plan
                      subscriptionId: basic_subscription
                      featureEntitlements:
                        - scripts
                        - remoteDesktop
                    deviceCount: 12
                    userCount: 3
                    locationCount: 5
                    tagCount: 2
                    pluginCount: 1
                    runnerCount: 0
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization-tag:
    get:
      tags:
        - Tag
      summary: Get tags
      description: |-
        Get all tags for current organization
        This endpoint uses pagination. For more information view Pagination section. Max allowed page size is 500.
      parameters:
        - name: limit
          in: query
          schema: *ref_212
          description: Page size. For more information, view Pagination section.
          example: 10
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: *ref_351
                  required: *ref_352
              example: *ref_353
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Tag
      summary: Create tag
      description: Create tag
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  description: Name of the tag
                color:
                  type: string
                  description: Optional color code for the tag
                parentTagUid:
                  type: string
                  description: Optional UID of the parent tag for hierarchical organization
                organizationUid:
                  type: string
                  description: Organization UID. Required when using account authentication (XAuthAccount). Ignored when using organization authentication (XAuthOrganization) as the organization is derived from the auth header.
              example:
                name: Organization tag 1
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
  /v1/organization-tag/count:
    get:
      tags:
        - Tag
      summary: Count organization tags
      description: Count all tags for current organization or account
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization-tag/tree:
    get:
      tags:
        - Tag
      summary: Get organization tag tree
      description: Get complete hierarchical tree structure of organization tags with nested children and aggregate statistics.
      parameters:
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                    description: Unique identifier for the tree response object
                  createdAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  tags:
                    type: array
                    description: Hierarchical tree structure of organization tags
                    items:
                      allOf: &ref_419
                        - type: object
                          properties: *ref_351
                          required: *ref_352
                        - type: object
                          properties:
                            children:
                              type: array
                              description: Nested child tags (recursive structure - same shape as parent)
                              items:
                                type: object
                                description: Child tag with the same structure as the parent
                  statistics:
                    type: object
                    description: Aggregate statistics about tag usage
                    properties:
                      total:
                        type: integer
                        description: Total number of tags
                      unused:
                        type: integer
                        description: Number of tags not assigned to anything
                      devices:
                        type: integer
                        description: Number of tags assigned to at least one device
                      locations:
                        type: integer
                        description: Number of tags assigned to at least one location
                      contentGuardItems:
                        type: integer
                        description: Number of tags assigned to at least one content guard item
                      policies:
                        type: integer
                        description: Number of tags assigned to at least one policy
                      sharedTags:
                        type: integer
                        description: Number of tags assigned to 2 or more entity types
                    required:
                      - total
                      - unused
                      - devices
                      - locations
                      - contentGuardItems
                      - policies
                      - sharedTags
                  colors:
                    type: array
                    description: Sorted list of unique colors used across all tags
                    items:
                      type: string
                  totalAssignments:
                    type: integer
                    description: Sum of all assignments across all tags (devices + locations + policies + content guard items)
                  lastUpdatedAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                required:
                  - uid
                  - createdAt
                  - tags
                  - statistics
                  - colors
                  - totalAssignments
                example:
                  uid: tree
                  createdAt: '2021-04-15T10:22:15.123Z'
                  tags:
                    - uid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                      name: Production
                      organizationUid: 9fefb9905b6195c5f77062a40c6fee79abc0
                      color: '#FF5733'
                      createdAt: '2021-03-30T18:57:33.669Z'
                      updatedAt: '2021-03-30T18:57:33.669Z'
                      assignedDevicesCount: 25
                      assignedLocationsCount: 5
                      assignedPoliciesCount: 3
                      assignedContentGuardItemsCount: 8
                      children:
                        - uid: b86f0cd35b7306d6e88173b51d7gff8abde1
                          name: Retail Stores
                          organizationUid: 9fefb9905b6195c5f77062a40c6fee79abc0
                          parentTagUid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                          createdAt: '2021-04-15T10:22:15.123Z'
                          updatedAt: '2021-04-15T10:22:15.123Z'
                          assignedDevicesCount: 10
                          assignedLocationsCount: 3
                          assignedPoliciesCount: 1
                          assignedContentGuardItemsCount: 2
                  statistics:
                    total: 15
                    unused: 2
                    devices: 8
                    locations: 6
                    contentGuardItems: 5
                    policies: 4
                    sharedTags: 3
                  colors:
                    - '#00FF00'
                    - '#0000FF'
                    - '#FF5733'
                  totalAssignments: 127
                  lastUpdatedAt: '2021-04-15T10:22:15.123Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization-tag/tree/latest:
    get:
      tags:
        - Tag
      summary: Get organization tag tree metadata
      description: Get metadata about the organization tag tree for cache validation.
      parameters:
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                description: Lightweight response for cache validation and tree metadata
                properties:
                  uid:
                    type: string
                    description: Unique identifier for the tree-latest response object
                  createdAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  count:
                    type: integer
                    description: Total number of tags in the organization(s)
                  totalAssignments:
                    type: integer
                    description: Sum of all assignments across all tags (devices + locations + policies + content guard items)
                  lastUpdatedAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                required:
                  - uid
                  - createdAt
                  - count
                  - totalAssignments
                example:
                  uid: tree-latest
                  createdAt: '2021-04-15T10:22:15.123Z'
                  count: 15
                  totalAssignments: 127
                  lastUpdatedAt: '2021-04-15T10:22:15.123Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization-tag/{uid}:
    get:
      tags:
        - Tag
      summary: Get Organization Tag
      description: Gets organization tag
      parameters:
        - name: uid
          in: path
          schema:
            type: string
          required: true
          example: '{{uid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_351
                required: *ref_352
              example:
                uid: 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
                organizationUid: 48889e30b1423d4171e348d6a1a1222e3b0075c8d7abcc868a
                name: example
                createdAt: '2022-07-22T13:00:00.000Z'
                updatedAt: '2022-07-22T13:00:00.000Z'
                assignedDevicesCount: 0
                assignedLocationsCount: 0
                assignedPoliciesCount: 0
                assignedContentGuardItemsCount: 0
    put:
      tags:
        - Tag
      summary: Update Tag
      description: Update tag
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the tag
                color:
                  type: string
                  description: Optional color code for the tag
                parentTagUid:
                  type: string
                  description: Optional UID of the parent tag
              minProperties: 1
              example:
                name: Tag 1 updated
      parameters:
        - name: uid
          in: path
          schema:
            type: string
          required: true
          example: '{{uid}}'
      security:
        - XAuthOrganization: []
      responses:
        '204':
          description: No content
    delete:
      tags:
        - Tag
      summary: Delete Tag
      description: Delete tag
      parameters:
        - name: uid
          in: path
          schema:
            type: string
          required: true
          example: '{{uid}}'
      security:
        - XAuthOrganization: []
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization/count:
    get:
      tags:
        - Organization
      summary: Get Organizations
      description: |-
        Get all Organizations for current account

        1.  We use **different authentication in the x-auth header** for `/organization` endpoints, which consists of USER *TOKEN_ID* and *TOKEN_SECRET* (separated by “:”). You can find both on the Settings page ([https://box.signageos.io/settings](https://box.signageos.io/settings)) in SignageOS Box. [Learn more here](https://docs.signageos.io/hc/en-us/articles/4405239033234).
      security:
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - description: |-
            **This parameter is deprecated and will be removed in the future. Use `uids` instead.**
            Filter by organization uids.
          name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
        - name: organizationUid
          in: query
          schema:
            type: string
            example: '{{organizationUid}}'
          description: |-
            **This parameter is deprecated and will be removed in the future. Use `uids` instead.**
            Filter by organization uids.
        - name: x-oauth-client_secret
          in: header
          schema:
            type: string
          example: '{{x-oauth-client_secret}}'
        - name: name
          in: query
          description: Filter by name of the organization.
          schema:
            type: string
          example: '{{name}}'
      responses:
        '200':
          description: OK
          content: *ref_152
        '403':
          description: Forbidden
          content: *ref_3
  /v1/organization/{organizationUID}/security-token:
    get:
      tags:
        - Organization
      summary: Get organization tokens
      description: |-
        Retrieves the list of organization tokens

        > We use **different authentication in the x-auth header** for `/organization` endpoints, which consists of USER *TOKEN_ID* and *TOKEN_SECRET* (separated by “:”). You can find both on the Settings page ([https://box.signageos.io/settings](https://box.signageos.io/settings)) in SignageOS Box. [Learn more here](https://docs.signageos.io/hc/en-us/articles/4405239033234).
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUID
          in: path
          schema:
            type: string
          required: true
          example: '{{organizationUID}}'
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
              example:
                - id: fbb807a23f009af05dww
                  name: Example Token Name
                  organizationUID: 0902305dfhbb80af
    post:
      tags:
        - Organization
      summary: Create organization token
      description: |-
        Creates organization token.

        > We use **different authentication in the x-auth header** for `/organization` endpoints, which consists of USER *TOKEN_ID* and *TOKEN_SECRET* (separated by “:”). You can find both on the Settings page ([https://box.signageos.io/settings](https://box.signageos.io/settings)) in SignageOS Box. [Learn more here](https://docs.signageos.io/hc/en-us/articles/4405239033234).
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUID
          in: path
          schema:
            type: string
          required: true
          example: '{{organizationUID}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                name: Your Token Name
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                id: fbb807a23f009af05dww
                securityToken: 454f512635cd7dwdwdwdwdwfwwxw2eb161a7fdwdwerr
                name: Example Token Name
  /v1/organization/{organizationUID}/subscriptionType/{subscriptiontype}:
    put:
      tags:
        - Organization
      summary: Update Organization Device Plan
      description: |-
        Sets the organization's Device Plan.

        > We use **different authentication in the x-auth header** for `/organization` endpoints, which consists of USER *TOKEN_ID* and *TOKEN_SECRET* (separated by “:”). You can find both on the Settings page ([https://box.signageos.io/settings](https://box.signageos.io/settings)) in SignageOS Box. [Learn more here](https://docs.signageos.io/hc/en-us/articles/4405239033234).

        ## Available Device Plans

        *   open
        *   1.0
        *   2.0
        *   3.0

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `organizationUID` | string | required | unique organization identification |
        | `subscriptionType` | string | required | subscription type. (One of: "open", "1.0", "2.0", "3.0") |
      requestBody:
        content: {}
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUID
          in: path
          schema:
            type: string
          required: true
          example: '{{organizationUID}}'
        - name: subscriptiontype
          in: path
          schema:
            type: string
          required: true
          example: '{{subscriptiontype}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/organization/{organizationUid}:
    get:
      tags:
        - Organization
      summary: Get Organization
      description: Get the Organization details by `organizationUid` for the current account
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      parameters:
        - name: organizationUid
          in: path
          schema: &ref_362
            type: string
          required: true
          example: '{{organizationUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_359
                required: *ref_360
                example: *ref_361
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Organization
      summary: Delete Organization
      description: |-
        Delete Organization by `organizationUid` for the current account.

        1.  We use **different authentication in the x-auth header** for `/organization` endpoints, which consists of USER *TOKEN_ID* and *TOKEN_SECRET* (separated by “:”). You can find both on the Settings page ([https://box.signageos.io/settings](https://box.signageos.io/settings)) in SignageOS Box. [Learn more here](https://docs.signageos.io/hc/en-us/articles/4405239033234).

        ## Parameters

        | Field | Type | Required | Description |
        | --- | --- | --- | --- |
        | `organizationUid` | string | required | organization identification |
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_362
          required: true
          example: '{{organizationUid}}'
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
    put:
      tags:
        - Organization
      summary: Update Organization
      description: Update existing organization
      requestBody:
        content:
          application/json:
            schema:
              example:
                title: My new organization title
              type: object
              properties:
                title:
                  type: string
                  description: 'Organization title <br> <br> Min 2 and max 255 length <br> <br> Example: SignageOS Testing Organization'
              required:
                - title
      parameters:
        - name: organizationUid
          in: path
          schema:
            type: string
          required: true
          example: '{{organizationUid}}'
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/organization/{organizationUid}/client-vpn-config:
    parameters:
      - name: organizationUid
        in: path
        schema: *ref_362
        required: true
        example: '{{organizationUid}}'
    get:
      tags:
        - Organization/VPN
      summary: Get VPN configuration list
      description: |-
        Get VPN client configuration file for current Organization.
        ## Parameters
        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `organizationUid` | string | required | organization uid |
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  vpnConfigurations:
                    description: Array of active vpn configurations
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - device
                            - client
                        uid:
                          type: string
                          description: uid
                          example: e286bcc40506c43f238146fd1a663cd6630e
                        orgId:
                          type: string
                          description: uid
                          example: e286bcc40506c43f238146fd1a663cd6630e
                        createdAt:
                          type: string
                          format: date-time
                          example: '2021-01-30T08:30:00Z'
                      required:
                        - type
                        - uid
                        - orgId
        '401':
          description: Missing vpnServerApiNameTag
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 401
                message: Organization VPN server not available
                errorCode: 401035
                errorName: VPN_SERVER_PROHIBITED
                errorDetail: Authenticated account hasn't assigned VPN server for specified company thus VPN service is not available
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Organization not found
                errorCode: 404113
                errorName: NO_ORGANIZATION_TO_READ
                errorDetail: No organization found by organizationUid specified in URI path
    post:
      tags:
        - Organization/VPN
      summary: Generate vpn client vpn configuration and add it to VPN server
      description: |-
        Generate vpn client vpn configuration and add it to VPN server
        ## Parameters
        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `organizationUid` | string | required | organization uid |
      security:
        - XAuthAccount: []
      responses:
        '201':
          description: Returns uid of created configuration
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                    description: uid
                    example: e286bcc40506c43f238146fd1a663cd6630e
        '400':
          description: Command rejected
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Command Organization.RevokeOrganizationUserVPNConfig rejected
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Device not found
                errorCode: 404236
                errorName: NO_DEVICE_TO_VPN_READ
                errorDetail: No device found by identity hash specified in URI path thus device VPN settings not to be read
  /v1/organization/{organizationUid}/client-vpn-config/{uid}:
    parameters:
      - name: organizationUid
        in: path
        schema: *ref_362
        required: true
        example: '{{organizationUid}}'
      - name: uid
        in: path
        schema:
          type: string
        required: true
        example: '{{uid}}'
    get:
      tags:
        - Organization/VPN
      summary: Get VPN configuration
      description: |-
        Get VPN client configuration file for current Organization.
        ## Parameters
        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `organizationUid` | string | required | organization uid |
        | `uid`            | string | required | uid              |
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                  configuration:
                    type: string
                    description: VPN configuration string which could be used for VPN client
              examples:
                clientConfiguration:
                  value:
                    uid: ac46517bf93150e8e8aec009c75236c82340
                    configuration: |
                      client\r\nproto udp\r\nexplicit-exit-notify\r\nremote 34.155.182.211 1194\r\ndev tun\r\nresolv-retry infinite\r\nnobind\r\npersist-key\r\npersist-tun\r\nremote-cert-tls server\r\nverify-x509-name server_g8aJNipATezF3sfj name\r\nauth SHA256\r\nauth-nocache\r\ncipher AES-128-GCM\r\ntls-client\r\ntls-version-min 1.2\r\ntls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256\r\nignore-unknown-option block-outside-dns\r\nsetenv opt block-outside-dns # Prevent Windows 10 DNS leak\r\nverb 3\r\n<ca>\r\n-----BEGIN CERTIFICATE-----\r\nMIIB1zCCAX2gAwIBAgIUGuiwHq5vhpOpjllmN9pc1iusnogwCgYIKoZIzj0EAwIw\r\nHjEcMBoGA1UEAwwTY25faEgyOVNKZ1I3bW1WVFpabDAeFw0yNDAyMjYxMTAxMDha\r\nFw0zNDAyMjMxMTAxMDhaMB4xHDAaBgNVBAMME2NuX2hIMjlTSmdSN21tVlRaWmww\r\nWTATBgcqhkjOPQ This is an EXAMPLE SlSrINDcqY/fwTfXpFm1kOZQVJBdf0\r\nw8LJpOfcY+GrYMJrtIbxdnEm3G+tqC8v This is an EXAMPLE Ilhao4GYMIGV\r\nMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFMyuC2eQJV5BETIF/s4JIH4N4393MFkG\r\nA1UdIwRSMFCAFMyuC2eQJV5BETIF/s4JIH4N4393oSKkIDAeMRwwGgYDVQQDDBNj\r\nbl9oSDI5U0pnUjdtbVZUWlpsghQa6LAerm+Gk6mOWWY32lzWK6yeiDALBgNVHQ8E\r\nBAMCA This is an EXAMPLE AAwRQIgUALUHcmpIBGpj77+90YCFUHFebV2gGSC\r\nKiwci+u4vG8CIQDerNThdeKJNeSrw1xFOiT+wiT+k4Bse6qEH1uZw497TQ==\r\n-----END CERTIFICATE-----\r\n</ca>\r\n<cert>\r\n-----BEGIN CERTIFICATE-----\r\nMII This is an EXAMPLE l0bhd60nY3DDQpHFyvQEwCgYIKoZIzj0EAwIwHjEc\r\nMBoGA1UEAwwTY25faEgyOVNKZ1I3bW1WVFpabDAeFw0yNDA1MDYwNzQzMjRaFw0y\r\nNjA4MDkwNzQzMjRaMBYxFDASBgNVBAMMC2Vaa2U3bk5SVnk4MFkwEwYHKoZIzj0C\r\nAQYIKoZIzj0DAQcDQgAE4SUhCcZnizboxaN0nlcjfPiJitvEfrD+cuDDjQQ/hx+i\r\nGDwV9pI9UQoak+YRzU/HA2OUdo/y1beAuWN8zytJsqOBqjCBpzAJBgNVHRMEAjAA\r\nMB0GA1UdDgQWBBTu0MBYxC2zO/thn2twV5U4ci+tRTBZBgNVHSMEUjBQgBTMrgtn\r\nkCVeQREyBf7OCSB+DeN/d6EipCAwHjEcMBoGA1UEAwwTY25faEgyOVNKZ1I3bW1W\r\nVFpabIIUGuiwHq5vhpOpjllmN9pc1iusnogwEwYDVR0lBAwwCgYIKwYBBQUHAwIw\r\nCwYDVR0PBAQDAgeAMAoGCCqGSM49BAMCA0gAMEUCIQCpsJHdkH8kGDYVfY9pjkBm\r\nJJM This is an EXAMPLE gRIf3kXZzG1BSxWZoHdlbKJUC7h2YrNlRsTimNDwW\r\n9UA=\r\n-----END CERTIFICATE-----\r\n</cert>\r\n<key>\r\n-----BEGIN PRIVATE KEY-----\r\nMIGH This is an EXAMPLE CCqGSM49AwEHBG0wawIBAQQgC6JhvtYB73lv/cwO\r\nJnohVq+RhWbC This is an EXAMPLE AAThJSEJxmeLNujFo3SeVyN8+ImK28R+\r\nsP5y4MONBD+H This is an EXAMPLE T8cDY5R2j/LVt4C5Y3zPK0my\r\n-----END PRIVATE KEY-----\r\n</key>\r\n<tls-crypt>\r\n#\r\n# 2048 bit OpenVPN static key\r\n#\r\n-----BEGIN OpenVPN Static key V1-----\r\n0ee2cc97240a6804ce9c9ac121228466\r\n463939f8fc8800a966a50a498cc92b65\r\n8cf23923e8100a38a8af2ec8cdecb1ab\r\nf648fb82c811d43bf30573fedf4cfa63\r\n4cd495ecce073f8b69ae59602a1ad9d6\r\n80b077b0b1ff3687d4b37b965d78b211\r\nb06553245cde72eef4470f320de5e983\r\ncdc98dcd3b2b2ef7ce9a2b20b600e3f3\r\n9ce4bd8ef09bb8e4ae3eda88dc587756\r\ne0a86f7e293ff15e2e59b4bfba7b378b\r\n185ecfae041c60b4daad25ad0a69a55f\r\ne6b0514744d92b0cf7bc4a9194ae9bda\r\n52e4badf276c7c29563e88dd72fef7f4\r\ne This is an EXAMPLE 2cfc0f030c7\r\n0e2b50eb4ce0977f77d480f9bfe1c195\r\n8ed030a599bb3236b90bd1f96c4670f8\r\n-----END OpenVPN Static key V1-----\r\n</tls-crypt>
        '401':
          description: Missing vpnServerApiNameTag
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 401
                message: Organization VPN server not available
                errorCode: 401035
                errorName: VPN_SERVER_PROHIBITED
                errorDetail: Authenticated account hasn't assigned VPN server for specified company thus VPN service is not available
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Organization not found
                errorCode: 404113
                errorName: NO_ORGANIZATION_TO_READ
                errorDetail: No organization found by organizationUid specified in URI path
    delete:
      tags:
        - Organization/VPN
      summary: Revoke VPN configuration
      description: |-
        Revoke VPN client configuration for current Organization.
        ## Parameters
        | Field | Type | Required | Description |
        | ------ | ------ | -------- | -------- |
        | `organizationUid` | string | required | organization uid |
        | `uid`            | string | required | uid              |
      security:
        - XAuthAccount: []
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties: *ref_24
              example:
                message: OK
        '400':
          description: Command rejected
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 400
                message: Command Organization.RevokeOrganizationUserVPNConfig rejected
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties: *ref_0
              example:
                status: 404
                message: Resource not found - Organization not found
                errorCode: 404113
                errorName: NO_ORGANIZATION_TO_READ
                errorDetail: No organization found by organizationUid specified in URI path
  /v1/organization/{organizationUid}/devicesCount:
    get:
      tags:
        - Organization
      summary: Get organization devices count
      description: |-
        Get count of all devices in your organization by `organizationUid`.

        1.  We use **different authentication in the x-auth header** for `/organization` endpoints, which consists of USER *TOKEN_ID* and *TOKEN_SECRET* (separated by “:”). You can find both on the Settings page ([https://box.signageos.io/settings](https://box.signageos.io/settings)) in SignageOS Box. [Learn more here](https://docs.signageos.io/hc/en-us/articles/4405239033234).

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `organizationUid` | string | required | Unique Organization Identification |
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_362
          required: true
          example: '{{organizationUid}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                uid: a326d675e4688a7ee2bf4ab951a5299a87c036a8e69e9e2dwwq
                name: example-org
                title: Example
                createdAt: '2021-05-25T08:28:50.372Z'
                oauthClientId: 8a2cfadab69a748e7595c8eb11e547f7361c7429f00f4cxxwQ
                oauthClientSecret: cca347855de76c22f84c7109307a50afa980111a77542ea389b99bb2ebdwerrw
                devicesCount: 42
  /v1/organization/{organizationUid}/member:
    post:
      tags:
        - Organization/Member
      summary: Add organization member
      description: Adds a new organization member for the provided organization. If the email does not exist, invitation email is sent.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - role
                - email
              properties:
                role:
                  type: string
                  enum: &ref_364
                    - owner
                    - manager
                    - user
                    - guest
                    - viewer
                email:
                  type: string
              example:
                role: user
                email: john.doe@signageos.io
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUid
          in: path
          schema: &ref_363
            type: string
          description: Organization uid
          required: true
          example: '{{organizationUid}}'
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Organization/Member
      summary: Get organization members
      description: Gets all organization members for given organization
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_363
          description: Organization uid
          required: true
          example: '{{organizationUid}}'
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: lastId
          in: query
          schema: *ref_354
          example: df195h3d8pdh55hgp94fgdc644o3f5og799d9pec8292h2cc7a
        - name: deleted
          in: query
          schema: *ref_162
        - name: search
          in: query
          schema: &ref_365
            type: string
          description: Search by uid, email, first name or last name of the member
          example: John
        - name: role
          in: query
          schema: &ref_366
            type: string
            enum: *ref_364
          description: Filter members by role
        - name: emailDomains
          in: query
          schema: &ref_367
            type: array
            items:
              type: string
          description: Filter members by email domain(s)
          example: &ref_368
            - signageos.io
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
              - firstname
              - username
              - email
          description: Field to sort results by. Default is `createdAt`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_370
                    id:
                      type: number
                      description: Deprecated - use `uid` instead. Will be removed in future versions.
                      deprecated: true
                    uid:
                      type: string
                    username:
                      type: string
                    email:
                      type: string
                    firstname:
                      type: string
                    lastname:
                      type: string
                    role:
                      type: string
                      enum:
                        - manager
                        - user
                    isActive:
                      type: boolean
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    assignedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required: &ref_371
                    - id
                    - uid
                    - username
                    - email
                    - role
                    - isActive
                    - createdAt
                    - updatedAt
                    - assignedAt
              example:
                - id: 1252866600347193
                  uid: 6c98976c85ab4e93a60552f490746468
                  username: john.doe_fea0bcc5
                  email: john.doe@signageos.io
                  firstname: John
                  lastname: Doe
                  role: user
                  isActive: true
                  createdAt: '2022-10-07T14:09:39.444Z'
                  updatedAt: '2022-10-07T14:09:39.444Z'
                  assignedAt: '2022-10-07T14:09:39.444Z'
                - id: 1252866600347193
                  uid: 87a2dcdxdf89sd898sdsddfas565335
                  username: peter.smith_39687dec
                  email: peter.smith@signageos.io
                  firstname: Peter
                  lastname: Smith
                  role: user
                  isActive: true
                  createdAt: '2021-06-15T11:37:47.690Z'
                  updatedAt: '2021-06-15T11:37:47.690Z'
                  assignedAt: '2021-06-15T11:37:47.690Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization/{organizationUid}/member/count:
    get:
      tags:
        - Organization/Member
      summary: Count organization members
      description: Count organization members
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_363
          description: Organization uid
          required: true
          example: '{{organizationUid}}'
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deleted
          in: query
          schema: *ref_162
        - name: search
          in: query
          schema: *ref_365
          description: Search by uid, email, first name or last name of the member
          example: John
        - name: role
          in: query
          schema: *ref_366
          description: Filter members by role
        - name: emailDomains
          in: query
          schema: *ref_367
          description: Filter members by email domain(s)
          example: *ref_368
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization/{organizationUid}/member/{memberUid}:
    put:
      tags:
        - Organization/Member
      summary: Edit organization member
      description: Edits organization member role for the provided organization.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - role
              properties:
                role:
                  type: string
                  enum: *ref_364
              example:
                role: user
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_363
          description: Organization uid
          required: true
          example: '{{organizationUid}}'
        - name: memberUid
          in: path
          schema: &ref_369
            type: string
          description: Unique identifier of the member. Note that numeric IDs are deprecated and will be removed in a future version — use UIDs instead.
          required: true
          example: 90803f0b7f104664bedc7dfb3bc5b160
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Organization/Member
      summary: Get organization member
      description: Get an organization member by member UID for given organization
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_363
          description: Organization uid
          required: true
          example: '{{organizationUid}}'
        - name: memberUid
          in: path
          schema: *ref_369
          description: Unique identifier of the member. Note that numeric IDs are deprecated and will be removed in a future version — use UIDs instead.
          required: true
          example: 90803f0b7f104664bedc7dfb3bc5b160
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deleted
          in: query
          schema: *ref_162
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_370
                required: *ref_371
              example:
                id: 1252866600347193
                uid: 6c98976c-85ab-4e93-a605-52f490746468
                username: john.doe_fea0bcc5
                email: john.doe@signageos.io
                firstname: John
                lastname: Doe
                role: user
                isActive: true
                createdAt: '2022-10-07T14:10:39.444Z'
                updatedAt: '2022-10-07T14:10:39.444Z'
                assignedAt: '2022-10-07T14:10:39.444Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Organization/Member
      summary: Delete organization member
      description: Deletes organization member for given organization
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_363
          description: Organization uid
          required: true
          example: '{{organizationUid}}'
        - name: memberUid
          in: path
          schema: *ref_369
          description: Unique identifier of the member. Note that numeric IDs are deprecated and will be removed in a future version — use UIDs instead.
          required: true
          example: 90803f0b7f104664bedc7dfb3bc5b160
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/organization/{organizationUid}/security-token/{organizationSecurityTokenID}:
    delete:
      tags:
        - Organization
      summary: Delete organization token
      description: |-
        Deletes organization token in your organization by `organizationUid` and `organizationSecurityTokenId`.

        1.  We use **different authentication in the x-auth header** for `/organization` endpoints, which consists of USER *TOKEN_ID* and *TOKEN_SECRET* (separated by “:”). You can find both on the Settings page ([https://box.signageos.io/settings](https://box.signageos.io/settings)) in SignageOS Box. [Learn more here](https://docs.signageos.io/hc/en-us/articles/4405239033234).

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `organizationUid` | string | required | Unique Organization Identification |
        | `organizationSecurityTokenId` | string | required | Security token Identification |
      security:
        - XAuthAccount: []
      parameters:
        - name: organizationUid
          in: path
          schema: *ref_362
          required: true
          example: '{{organizationUid}}'
        - name: organizationSecurityTokenID
          in: path
          schema:
            type: string
          required: true
          example: '{{organizationSecurityTokenID}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/package:
    get:
      tags:
        - Package
      summary: Get Packages
      description: Get all packages for current Organization.
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_372
                    uid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    packageName:
                      type: string
                      pattern: ^[a-zA-Z][\w\-.]*\w$
                      description: No special chars
                    label:
                      type: string
                    description:
                      type: string
                    ownerOrganizationUid:
                      type: string
                    createdByAccountId:
                      type: number
                  required: &ref_373
                    - uid
                    - createdAt
                    - packageName
                    - label
                    - ownerOrganizationUid
              example:
                - uid: bd74395949f7de6f143e59f00e8e351b8a01899873bb76be78
                  createdAt: '2017-05-24T08:58:56.994Z'
                  packageName: com.example.android.webview
                  label: Example WebView
                  description: Example WebView is a browser for Android
                  ownerOrganizationUid: a326d675e4688a7ee2bf4ab951a5299a87c036a8e69e9e2dwwq
                  createdByAccountId: 436778
                - uid: 23568258a06d973c8876ffe41c288a19f3833bd2c9fbe5d7cd
                  createdAt: '2022-05-24T08:58:56.994Z'
                  packageName: com.example.android.kiosk
                  label: Example Kiosk
                  description: Example Kiosk is a signage experience for your TV
                  ownerOrganizationUid: a326d675e4688a7ee2bf4ab951a5299a87c036a8e69e9e2dwwq
                  createdByAccountId: 436778
    post:
      tags:
        - Package
      summary: Create New Package
      description: Creates new package with the specified properties
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                packageName:
                  type: string
                  pattern: ^[a-zA-Z][\w\-.]*\w$
                  description: No special chars
                label:
                  type: string
                description:
                  type: string
              required:
                - packageName
                - label
            example:
              packageName: com.example.new.package
              label: Example New Package
              description: This is newly created package
      responses:
        '201':
          description: Example of successfully created package
          headers:
            Location:
              schema:
                type: string
              description: Url of the create package.
              example: https://api.signageos.io/v1/package/2356af56
  /v1/package/{packageUid}:
    get:
      tags:
        - Package
      summary: Get One Package
      description: Get one package by the given uid.
      parameters:
        - name: packageUid
          in: path
          schema: &ref_374
            type: string
          required: true
          example: '{{packageUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_372
                required: *ref_373
              example:
                uid: 23568258a06d973c8876ffe41c288a19f3833bd2c9fbe5d7cd
                createdAt: '2022-05-24T08:58:56.994Z'
                packageName: com.example.android.kiosk
                label: Example Kiosk
                description: Example Kiosk is a signage experience for your TV
                ownerOrganizationUid: a326d675e4688a7ee2bf4ab951a5299a87c036a8e69e9e2dwwq
                createdByAccountId: 436778
    put:
      tags:
        - Package
      summary: Update one Package
      description: Updates package properties
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                description:
                  type: string
            example:
              label: Updated Example Package Label
              description: Updated example description
      responses:
        '200':
          description: Update successful
          headers:
            Location:
              schema:
                type: string
              description: Url of the updated package.
              example: https://api.signageos.io/v1/package/5456af56
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/package/{packageUid}/version:
    get:
      tags:
        - Package/Version
      summary: Get Package Versions
      description: Get all version of the given package.
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    uid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    packageName:
                      type: string
                      pattern: ^[a-zA-Z][\w\-.]*\w$
                      description: No special chars
                    applicationType:
                      type: string
                      enum:
                        - android
                    version:
                      type: string
                    build:
                      type: string
                    buildHash:
                      type: string
                      description: SHA-256 hash of the binary
                    publishedSince:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required:
                    - uid
                    - createdAt
                    - applicationType
                    - version
                    - buildHash
              example:
                - uid: bd74395949f7de6
                  createdAt: '2022-06-22T17:07:52Z'
                  packageName: com.example.android.webview
                  applicationType: android
                  version: 1.2.3-beta.4
                  build: 59f00e8e351b8a0
                  buildHash: a06d973c8876ffe41c288a1
                  publishedSince: '2022-06-28T17:07:52Z'
                - uid: dy74395749f7de6
                  createdAt: '2022-06-22T17:07:52Z'
                  packageName: com.example.android.webview
                  applicationType: android
                  version: 1.2.3
                  build: 34a00e8e351b5fd
                  buildHash: 2a6571da26602a67be14ea
                  publishedSince: '2022-06-28T17:07:52Z'
    post:
      tags:
        - Package/Version
      summary: Create New Package Version
      description: |-
        Creates new package version with the specified properties.
        This resource have to be called after uploading the package version binary to the `/package/{packageUid}/file` resource. If the file is missing the package version can't be created.
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                metadata:
                  type: string
                binary:
                  type: string
                  format: binary
              required:
                - metadata
                - binary
            example:
              metadata: '{ "version": " 1.2.0-rc.2", "build": "ef430098dd" }'
              binary: JUUyJTlDJTkzJTIwJUMzJUEwJTIwbGElMjBtb2Rl
      responses:
        '201':
          description: Example of successfully created package
          headers:
            Location:
              schema:
                type: string
              description: Url of the create package version.
              example: https://api.signageos.io/v1/package/2356af56/version/a36c40f/application/android
  /v1/package/{packageUid}/version/{packageVersionUid}:
    get:
      tags:
        - Package/Version
      summary: Get One Package Version
      description: Get one Package Version by the given buildHash and applicationType.
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
        - name: packageVersionUid
          in: path
          schema: &ref_375
            type: string
          required: true
          example: '{{packageVersionUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  uid:
                    type: string
                  createdAt:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  packageName:
                    type: string
                    pattern: ^[a-zA-Z][\w\-.]*\w$
                    description: No special chars
                  applicationType:
                    type: string
                    enum:
                      - android
                  version:
                    type: string
                  build:
                    type: string
                  buildHash:
                    type: string
                    description: SHA-256 hash of the binary
                  publishedSince:
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  note:
                    type: string
                  specs:
                    type: object
                    properties:
                      packageName:
                        type: string
                      sdkVersion:
                        type: number
                      supportedAbis:
                        type: array
                        items:
                          type: string
                          enum:
                            - arm64-v8a
                            - armeabi-v7a
                            - x86_64
                            - x86
                required:
                  - uid
                  - createdAt
                  - applicationType
                  - version
                  - buildHash
              example:
                uid: bd74395949f7de6
                createdAt: '2022-06-22T17:07:52Z'
                packageName: com.example.android.webview
                applicationType: android
                version: 1.2.3-beta.4
                build: 59f00e8e351b8a0
                buildHash: a06d973c8876ffe41c288a1
                publishedSince: '2022-06-28T17:07:52Z'
                note: Example WebView note
                specs:
                  packageName: com.example.android.webview
                  sdkVersion: 29
                  supportedAbis:
                    - arm64-v8a
                    - armeabi-v7a
                    - x86_64
    put:
      tags:
        - Package/Version
      summary: Update one Package Version
      description: Updates Package Version properties
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
        - name: packageVersionUid
          in: path
          schema: *ref_375
          required: true
          example: '{{packageVersionUid}}'
      security:
        - XAuthOrganization: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
                  nullable: true
              required:
                - note
            example:
              note: Update package version note
      responses:
        '200':
          description: Update successful
          headers:
            Location:
              schema:
                type: string
              description: Url of the updated package.
              example: https://api.signageos.io/v1/package/5456af56/version/a06d973c8876ffe41c288a1/application/android
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
    delete:
      tags:
        - Package/Version
      summary: Delete one Package Version
      description: Deletes Package Version
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
        - name: packageVersionUid
          in: path
          schema: *ref_375
          required: true
          example: '{{packageVersionUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Delete successful
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/package/{packageUid}/version/{packageVersionUid}/file:
    get:
      tags:
        - Package/Version
      summary: Get Package Version Binary
      description: Redirect to the Package Version Binary
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
        - name: packageVersionUid
          in: path
          schema: *ref_375
          required: true
          example: '{{packageVersionUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '301':
          description: Permanent redirection to the file storage
  /v1/package/{packageUid}/version/{packageVersionUid}/icon:
    get:
      tags:
        - Package/Version
      summary: Get Package Version Icon
      description: Redirect to the Package Version Icon
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
        - name: packageVersionUid
          in: path
          schema: *ref_375
          required: true
          example: '{{packageVersionUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '301':
          description: Permanent redirection to the icon storage
  /v1/package/{packageUid}/version/{packageVersionUid}/publish:
    put:
      tags:
        - Package/Version
      summary: Publish Package Version
      description: Published Package Version is available for installation to a device
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
        - name: packageVersionUid
          in: path
          schema: *ref_375
          required: true
          example: '{{packageVersionUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Publish successful
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/package/{packageUid}/version/{packageVersionUid}/unpublish:
    put:
      tags:
        - Package/Version
      summary: Unpublish Package Version
      description: Unpublished Package Version is not available for installation to a device
      parameters:
        - name: packageUid
          in: path
          schema: *ref_374
          required: true
          example: '{{packageUid}}'
        - name: packageVersionUid
          in: path
          schema: *ref_375
          required: true
          example: '{{packageVersionUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: Unpublish successful
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/plugin:
    get:
      tags:
        - Plugin
      summary: List plugins
      description: Retrieves a list of plugins for the organization
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: name
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `name`. Returns records where the `name` contains the specified text.
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: platforms
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: Filter by supported platforms
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by tags
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_377
                    uid:
                      type: string
                      description: Unique plugin identification
                      example: plugin_abc123def456
                    name:
                      type: string
                      description: Plugin name
                      example: Color Profile Manager
                    title:
                      type: string
                      description: Plugin title
                      example: Color Profile Manager
                    organizationUid:
                      type: string
                      description: Organization unique identification
                      example: 6sdf5a5esr74asd4zdwtuy
                    description:
                      type: string
                      description: Plugin description
                      example: Manages device color profiles and S-curve settings
                    tagUids:
                      type: array
                      items:
                        type: string
                      description: Tags associated with the plugin
                      example:
                        - tag_12345
                        - tag_67890
                    supportedPlatforms:
                      type: array
                      items:
                        type: string
                        enum: *ref_27
                        description: |
                          Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                      description: Supported platforms
                      example:
                        - tizen
                        - webos
                        - android
                    latestVersion:
                      type: string
                      description: The latest version of the plugin
                      example: 1.0.0
                    deviceCount:
                      type: integer
                      description: Number of devices with this plugin assigned
                      example: 42
                    createdAt:
                      type: string
                      format: date-time
                      description: Plugin creation timestamp
                      example: '2024-01-15T10:30:00.000Z'
                    updatedAt:
                      type: string
                      format: date-time
                      description: Plugin last update timestamp
                      example: '2024-01-20T14:45:00.000Z'
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedBy:
                      type: object
                      properties: *ref_157
                  required: &ref_378
                    - uid
                    - name
                    - title
                    - organizationUid
                    - supportedPlatforms
                    - deviceCount
                    - createdAt
                    - updatedAt
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Plugin
      summary: Create plugin
      description: Creates a new plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 2
                  maxLength: 255
                  pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$
                  description: Name can contain only letters, numbers divided by dashes. It must start and end with a letter or a number.
                title:
                  type: string
                  description: Plugin title
                  example: Color Profile Manager
                organizationUid:
                  type: string
                  description: Organization unique identification
                  example: 6sdf5a5esr74asd4zdwtuy
                description:
                  type: string
                  description: Plugin description
                  example: Manages device color profiles and S-curve settings
                tagUids:
                  type: array
                  items:
                    type: string
                  description: Tags associated with the plugin
                  example:
                    - tag_12345
                    - tag_67890
              required:
                - name
                - title
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/count:
    get:
      tags:
        - Plugin
      summary: Count Plugins
      description: Retrieves the count of plugins for the organization
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: name
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `name`. Returns records where the `name` contains the specified text.
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: platforms
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: Filter by supported platforms
        - name: status
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - draft
                - published
                - deprecated
          description: Filter by plugin status
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by tags
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/{pluginUid}:
    get:
      tags:
        - Plugin
      summary: Get plugin
      description: Retrieves a specific plugin by UID
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_377
                required: *ref_378
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Plugin
      summary: Update plugin
      description: Updates an existing plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 2
                  maxLength: 255
                  pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$
                  description: Name can contain only letters, numbers divided by dashes. It must start and end with a letter or a number.
                organizationUid:
                  type: string
                  description: Required if authenticating as an Account
                title:
                  type: string
                  description: Plugin title
                  example: Color Profile Manager
                description:
                  type: string
                  description: Plugin description
                  example: Manages device color profiles and S-curve settings
                tagUids:
                  type: array
                  items:
                    type: string
                  description: Tags associated with the plugin
                  example:
                    - tag_12345
                    - tag_67890
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Plugin
      summary: Delete plugin
      description: Deletes a plugin by UID
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: deleteVersions
          in: query
          schema:
            type: boolean
          description: |
            Should delete all versions of the plugin. If not provided, only the plugin will be deleted or the request will fail if the plugin has versions.
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/{pluginUid}/version:
    get:
      tags:
        - Plugin/Version
      summary: List plugin versions
      description: Retrieves all versions of a specific plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Plugin version contains code for multiple target platforms that implements the same logic for each platform
                  properties: &ref_387
                    uid:
                      type: string
                      description: Unique version identification
                      example: version_xyz789abc123
                    pluginUid:
                      type: string
                      description: Parent plugin UID
                      example: plugin_abc123def456
                    version:
                      type: string
                      description: Version number
                      example: 1.2.0
                    configDefinition:
                      type: array
                      items: *ref_196
                      default: *ref_197
                    schema:
                      type: array
                      items: &ref_385
                        oneOf:
                          - title: String
                            allOf: *ref_379
                          - title: URL
                            allOf: *ref_380
                          - title: Enum
                            allOf: *ref_381
                          - title: Number
                            allOf: *ref_382
                          - title: Secret
                            allOf: *ref_383
                          - title: Unknown
                            allOf: *ref_384
                      default: &ref_386 []
                    jsApiVersion:
                      type: string
                      description: Picks which version of JS API will be available in the Plugin runtime.
                      example: 1.0.0
                    description:
                      type: string
                      description: Plugin version description
                      example: This plugin version includes support for new features and bug fixes.
                    createdAt:
                      type: string
                      format: date-time
                      description: Plugin creation timestamp
                      example: '2024-01-15T10:30:00.000Z'
                    updatedAt:
                      type: string
                      format: date-time
                      description: Plugin last update timestamp
                      example: '2024-01-20T14:45:00.000Z'
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedBy:
                      type: object
                      properties: *ref_157
                    publishedAt:
                      type: string
                      format: date-time
                      description: Timestamp when the version was published
                      example: '2024-01-20T14:45:00.000Z'
                    deprecatedAt:
                      type: string
                      format: date-time
                      description: Timestamp when the version was deprecated
                      example: '2024-02-20T14:45:00.000Z'
                  required: &ref_388
                    - uid
                    - pluginUid
                    - version
                    - configDefinition
                    - schema
                    - description
                    - createdAt
                    - updatedAt
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Plugin/Version
      summary: Create plugin version
      description: Creates a new version of an existing plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: string
                  description: Version number
                  example: 1.2.0
                configDefinition:
                  type: array
                  items: *ref_196
                  default: *ref_197
                schema:
                  type: array
                  items: *ref_385
                  default: *ref_386
                jsApiVersion:
                  type: string
                  description: Picks which version of JS API will be available in the Plugin runtime.
                  example: 1.0.0
                description:
                  type: string
                  description: Plugin version description
                  example: This plugin version includes support for new features and bug fixes.
              required:
                - version
                - configDefinition
                - description
                - schema
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/{pluginUid}/version/count:
    get:
      tags:
        - Plugin/Version
      summary: Count Plugin Versions
      description: Retrieves the count of all versions of a specific plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      responses:
        '200':
          description: OK
          content: *ref_152
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/{pluginUid}/version/{version}:
    get:
      tags:
        - Plugin/Version
      summary: Get plugin version by uid
      description: Retrieves a specific version of a specific plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: &ref_389
            type: string
          description: Plugin version
          example: 1.3.0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                description: Plugin version contains code for multiple target platforms that implements the same logic for each platform
                properties: *ref_387
                required: *ref_388
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Plugin/Version
      summary: Update plugin version
      description: Updates a specific version of an existing plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                jsApiVersion:
                  type: string
                  description: Picks which version of JS API will be available in the Plugin runtime. This only applies to "browser" runtime. If not provided, the latest version will be used.
                configDefinition:
                  type: array
                  items: *ref_196
                  default: *ref_197
              example:
                configDefinition:
                  - name: screenWidth
                    valueType: number
                    placeholder: placeholder
                    description: Screen width in pixels
                    mandatory: false
                jsApiVersion: 1.0.0
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Plugin/Version
      summary: Delete plugin version
      description: Deletes a specific version of an existing plugin
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/{pluginUid}/version/{version}/platform:
    get:
      tags:
        - Plugin/Version/Platform
      summary: Get Plugin Version Platforms
      description: Get all existing platforms for a specific Plugin version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_391
                    platform:
                      description: Platform for which the plugin is intended
                      example: linux
                      type: string
                      enum: *ref_27
                    runtime:
                      description: Runtime environment for the plugin
                      example: sh
                      type: string
                      enum: &ref_390
                        - ps1
                        - bash
                        - sh
                        - nodejs
                        - browser
                        - brs
                    archiveUri:
                      type: string
                      description: URI to the plugin archive file
                      example: https://example.com/plugin.zip
                    md5Checksum:
                      type: string
                      description: MD5 checksum of the plugin archive
                      example: d41d8cd98f00b204e9800998ecf8427e
                    mainFile:
                      type: string
                      description: Main file of the plugin
                      example: index.js
                  required: &ref_392
                    - platform
                    - runtime
                    - archiveUri
                    - md5Checksum
                    - mainFile
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Plugin/Version/Platform
      summary: Create Plugin Version Platform
      description: Add a new supported platform for specific Plugin version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                platform:
                  description: Platform for which the plugin is intended
                  example: linux
                  type: string
                  enum: *ref_27
                runtime:
                  description: Runtime environment for the plugin
                  example: sh
                  type: string
                  enum: *ref_390
                md5Checksum:
                  type: string
                  description: MD5 checksum of the plugin archive
                  example: d41d8cd98f00b204e9800998ecf8427e
                mainFile:
                  type: string
                  description: Main file of the plugin
                  example: index.js
              required:
                - platform
                - runtime
                - md5Checksum
                - mainFile
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/{pluginUid}/version/{version}/platform/{platform}:
    get:
      tags:
        - Plugin/Version/Platform
      summary: Get Plugin Version Platform
      description: Get supported platforms for a specific Plugin version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
        - name: platform
          in: path
          schema: &ref_393
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          required: true
          description: platform of the plugin
          example: tizen
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_391
                required: *ref_392
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Plugin/Version/Platform
      summary: Update Plugin Version Platform
      description: Update platform for a specific Plugin version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
        - name: platform
          in: path
          schema: *ref_393
          required: true
          description: platform of the plugin
          example: tizen
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                runtime:
                  type: string
                  enum: *ref_390
                md5Checksum:
                  type: string
                mainFile:
                  type: string
              required:
                - runtime
                - md5Checksum
                - mainFile
              example:
                md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                mainFile: bundle.js
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Plugin/Version/Platform
      summary: Delete Plugin Version Platform
      description: Delete platform for a specific Plugin version
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
        - name: platform
          in: path
          schema: *ref_393
          required: true
          description: platform of the plugin
          example: tizen
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/plugin/{pluginUid}/version/{version}/platform/{platform}/archive:
    post:
      tags:
        - Plugin/Version/Platform
      summary: Get presigned URL to upload Plugin Version Platform archive
      description: Get presigned URL to upload Plugin Version Platform archive containing the code
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: pluginUid
          in: path
          required: true
          schema: *ref_265
          description: Unique plugin identification
          example: plugin_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_389
          description: Plugin version
          example: 1.3.0
        - name: platform
          in: path
          schema: *ref_393
          required: true
          description: platform of the plugin
          example: tizen
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                md5Checksum:
                  type: string
              required:
                - md5Checksum
              example:
                md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_204
                required: *ref_205
                example: *ref_206
        '404':
          description: Not Found
          content: *ref_4
  /v1/policy:
    get:
      tags:
        - Policy
      summary: Get Policies
      description: Get all policies for current Organization.
      parameters:
        - name: pagination
          in: query
          schema:
            type: number
          description: 'Deprecated - use `limit` instead. Start paginating result by given number items on page. Next page link is available on in response under header `Link`. E.g.: `<https://api.signageos/v1/policy?pagination=50&createdUntil=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
          deprecated: true
        - name: createdUntil
          in: query
          schema:
            type: string
          description: Filter by policy createdAt lower than (exclusive) date time in ISO-8601 format. Internally used for pagination (see `pagination` parameter).
          example: '2017-08-02T13:45:40.000Z'
        - name: archived
          in: query
          schema:
            type: boolean
          description: Deprecated - use `deleted` instead. Filter archived/active policies. Accepted values '0', '1', 'true', 'false'
          example: false
          deprecated: true
        - name: deleted
          in: query
          schema:
            type: boolean
          description: Filter deleted/active policies. Accepted values '0', '1', 'true', 'false'
          example: false
        - name: name
          in: query
          schema:
            type: string
            maxLength: 50
          description: Filter policies by name (partial match)
          example: My Policy
        - name: deviceCountGt
          in: query
          schema:
            type: number
          description: Filter policies that have more than the specified number of devices assigned
          example: 10
        - name: deviceCountLt
          in: query
          schema:
            type: number
          description: Filter policies that have fewer than the specified number of devices assigned
          example: 100
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - name
              - organizationUid
              - deviceCount
              - createdAt
              - updatedAt
          description: Field to sort results by. Default is `createdAt`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_398
                    uid:
                      type: string
                      description: Unique identifier for the policy
                    name:
                      type: string
                      description: Name of the policy
                    organizationUid:
                      type: string
                      description: UID of the organization that owns this policy
                    note:
                      type: string
                      description: Optional note describing the last change that was made to the policy
                    items:
                      description: Array of policy items that define the device settings
                      type: array
                      items: &ref_397
                        oneOf:
                          - title: Volume
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - VOLUME
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  volume:
                                    type: integer
                                    minimum: 0
                                    maximum: 100
                                    description: Volume level
                                required:
                                  - volume
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: VOLUME
                              value:
                                volume: 75
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Brightness
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - BRIGHTNESS
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    brightness:
                                      type: integer
                                      minimum: 0
                                      maximum: 100
                                      description: Brightness level
                                    time:
                                      type: string
                                      pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
                                      description: Time when this brightness should be applied (HH:MM format)
                                  required:
                                    - brightness
                                    - time
                                  additionalProperties: false
                                description: Array of brightness settings with time schedules
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: BRIGHTNESS
                              value:
                                - brightness: 100
                                  time: '08:00'
                                - brightness: 50
                                  time: '20:00'
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Timers
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - TIMERS
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: Native timer type
                                    weekdays:
                                      type: array
                                      items: &ref_394
                                        type: string
                                        enum:
                                          - MONDAY
                                          - TUESDAY
                                          - WEDNESDAY
                                          - THURSDAY
                                          - FRIDAY
                                          - SATURDAY
                                          - SUNDAY
                                      description: Days of the week
                                    timeOn:
                                      type: string
                                      pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
                                      nullable: true
                                      description: Time when device turns on (HH:MM format)
                                    timeOff:
                                      type: string
                                      pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
                                      nullable: true
                                      description: Time when device turns off (HH:MM format)
                                    volume:
                                      type: integer
                                      minimum: 0
                                      maximum: 100
                                      description: Volume level during this timer
                                  required:
                                    - type
                                    - weekdays
                                    - timeOn
                                    - timeOff
                                    - volume
                                  additionalProperties: false
                                description: Array of timer configurations
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: TIMERS
                              value:
                                - type: POWER_TIMER
                                  weekdays:
                                    - MONDAY
                                    - TUESDAY
                                    - WEDNESDAY
                                    - THURSDAY
                                    - FRIDAY
                                  timeOn: '08:00'
                                  timeOff: '18:00'
                                  volume: 75
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Proprietary Timers
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - PROPRIETARY_TIMERS
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      pattern: ^TIMER_[0-9]+$
                                      description: Proprietary timer type (TIMER_N format)
                                    weekdays:
                                      type: array
                                      items: *ref_394
                                      description: Days of the week
                                    timeOn:
                                      type: string
                                      pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
                                      nullable: true
                                      description: Time when device turns on (HH:MM format)
                                    timeOff:
                                      type: string
                                      pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
                                      nullable: true
                                      description: Time when device turns off (HH:MM format)
                                    keepAppletRunning:
                                      type: boolean
                                      description: Whether to keep applet running during timer
                                  required:
                                    - type
                                    - weekdays
                                    - timeOn
                                    - timeOff
                                  additionalProperties: false
                                description: Array of proprietary timer configurations
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: PROPRIETARY_TIMERS
                              value:
                                - type: TIMER_1
                                  weekdays:
                                    - MONDAY
                                    - TUESDAY
                                    - WEDNESDAY
                                    - THURSDAY
                                    - FRIDAY
                                  timeOn: '08:00'
                                  timeOff: '18:00'
                                  keepAppletRunning: true
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Resolution
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - RESOLUTION
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  width:
                                    type: integer
                                    description: Screen width in pixels
                                  height:
                                    type: integer
                                    description: Screen height in pixels
                                  framerate:
                                    type: integer
                                    description: Optional framerate
                                required:
                                  - width
                                  - height
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: RESOLUTION
                              value:
                                width: 1920
                                height: 1080
                                framerate: 60
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Orientation
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - ORIENTATION
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  orientation:
                                    type: string
                                    enum: *ref_395
                                  videoOrientation:
                                    type: string
                                    enum: *ref_396
                                required:
                                  - orientation
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: ORIENTATION
                              value:
                                orientation: LANDSCAPE
                                videoOrientation: LANDSCAPE
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Remote Control
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - REMOTE_CONTROL
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  enabled:
                                    type: boolean
                                    description: Whether remote control is enabled
                                required:
                                  - enabled
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: REMOTE_CONTROL
                              value:
                                enabled: true
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Application Version
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - APPLICATION_VERSION
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  version:
                                    type: string
                                    description: Application version string
                                required:
                                  - version
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: APPLICATION_VERSION
                              value:
                                version: 1.2.3
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Firmware Version
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - FIRMWARE_VERSION
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  version:
                                    type: string
                                    description: Firmware version string
                                required:
                                  - version
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: FIRMWARE_VERSION
                              value:
                                version: 2.1.0
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Debug
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - DEBUG
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  appletEnabled:
                                    type: boolean
                                    description: Whether applet debug is enabled
                                  nativeEnabled:
                                    type: boolean
                                    description: Whether native debug is enabled
                                required:
                                  - appletEnabled
                                  - nativeEnabled
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: DEBUG
                              value:
                                appletEnabled: true
                                nativeEnabled: false
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Datetime
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - DATETIME
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  timezone:
                                    type: string
                                    nullable: true
                                    description: Timezone setting
                                  ntpServer:
                                    type: string
                                    nullable: true
                                    description: NTP server address
                                required:
                                  - timezone
                                  - ntpServer
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: DATETIME
                              value:
                                timezone: Europe/Prague
                                ntpServer: pool.ntp.org
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Power Actions Schedule
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - POWER_ACTIONS_SCHEDULE
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    uid:
                                      type: string
                                      description: Unique identifier for this power action
                                    powerType:
                                      type: string
                                      enum:
                                        - 'ON'
                                        - 'OFF'
                                        - RESTART
                                      description: Type of power action
                                    weekdays:
                                      type: array
                                      items: *ref_394
                                      description: Days of the week
                                    time:
                                      type: string
                                      pattern: ^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$
                                      description: Time when action should occur (HH:MM format)
                                  required:
                                    - uid
                                    - powerType
                                    - weekdays
                                    - time
                                  additionalProperties: false
                                description: Array of scheduled power actions
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: POWER_ACTIONS_SCHEDULE
                              value:
                                - uid: power-action-1
                                  powerType: 'ON'
                                  weekdays:
                                    - MONDAY
                                    - TUESDAY
                                    - WEDNESDAY
                                    - THURSDAY
                                    - FRIDAY
                                  time: '08:00'
                                - uid: power-action-2
                                  powerType: 'OFF'
                                  weekdays:
                                    - MONDAY
                                    - TUESDAY
                                    - WEDNESDAY
                                    - THURSDAY
                                    - FRIDAY
                                  time: '18:00'
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Temperature
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - TEMPERATURE
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  temperatureLimit:
                                    type: integer
                                    minimum: 20
                                    maximum: 100
                                    description: Temperature limit in degrees
                                required:
                                  - temperatureLimit
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: TEMPERATURE
                              value:
                                temperatureLimit: 75
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Auto Recovery
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - AUTO_RECOVERY
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  enabled:
                                    type: boolean
                                    description: Whether auto recovery is enabled
                                  healthcheckIntervalMs:
                                    type: integer
                                    description: Health check interval in milliseconds
                                  autoEnableTimeoutMs:
                                    type: integer
                                    description: Auto enable timeout in milliseconds
                                required:
                                  - enabled
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: AUTO_RECOVERY
                              value:
                                enabled: true
                                healthcheckIntervalMs: 30000
                                autoEnableTimeoutMs: 600000
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Peer Recovery
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - PEER_RECOVERY
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  enabled:
                                    type: boolean
                                    description: Whether peer recovery is enabled
                                  urlLauncherAddress:
                                    type: string
                                    description: URL launcher address for peer recovery
                                  autoEnableTimeoutMs:
                                    type: integer
                                    description: Auto enable timeout in milliseconds
                                required:
                                  - enabled
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: PEER_RECOVERY
                              value:
                                enabled: true
                                urlLauncherAddress: http://192.168.1.100:8080
                                autoEnableTimeoutMs: 300000
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Proxy
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - PROXY
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  enabled:
                                    type: boolean
                                    description: Whether proxy is enabled
                                  uri:
                                    type: string
                                    nullable: true
                                    description: Proxy URI
                                required:
                                  - enabled
                                  - uri
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: PROXY
                              value:
                                enabled: true
                                uri: http://proxy.example.com:8080
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Connection Method
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - CONNECTION_METHOD
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: string
                                nullable: true
                                enum:
                                  - HTTP
                                  - WEBSOCKET
                                  - WEBSOCKET_SSL
                                  - null
                                description: Connection method for device communication
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: CONNECTION_METHOD
                              value: WEBSOCKET_SSL
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Packages
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - PACKAGES
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  toInstall:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        version:
                                          type: string
                                          description: Package version
                                        packageName:
                                          type: string
                                          description: Package name
                                        applicationType:
                                          type: string
                                          enum:
                                            - android
                                          description: Application type (currently only Android is supported)
                                        ownerOrganizationUid:
                                          type: string
                                          description: UID of the organization that owns this package
                                        buildHash:
                                          type: string
                                          description: Build hash
                                        build:
                                          type: string
                                          nullable: true
                                          description: Build identifier
                                        specs:
                                          type: object
                                          properties:
                                            packageName:
                                              type: string
                                              description: Package name in specs
                                            sdkVersion:
                                              type: number
                                              description: SDK version
                                            supportedAbis:
                                              type: array
                                              items:
                                                type: string
                                              description: Supported ABIs
                                            multiArch:
                                              type: boolean
                                              nullable: true
                                              description: Multi-architecture support
                                            versionCode:
                                              type: number
                                              description: Version code
                                            targetSdkVersion:
                                              type: number
                                              description: Target SDK version
                                          required:
                                            - packageName
                                            - sdkVersion
                                          additionalProperties: false
                                      required:
                                        - version
                                        - packageName
                                        - applicationType
                                        - ownerOrganizationUid
                                        - buildHash
                                        - build
                                        - specs
                                      additionalProperties: false
                                    description: Packages to install
                                  toUninstall:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        packageName:
                                          type: string
                                          description: Package name to uninstall
                                        applicationType:
                                          type: string
                                          enum:
                                            - android
                                          description: Application type
                                        specs:
                                          type: object
                                          properties:
                                            packageName:
                                              type: string
                                              description: Package name in specs
                                          required:
                                            - packageName
                                          additionalProperties: false
                                      required:
                                        - packageName
                                        - applicationType
                                        - specs
                                      additionalProperties: false
                                    description: Packages to uninstall
                                required:
                                  - toInstall
                                  - toUninstall
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: PACKAGES
                              value:
                                toInstall:
                                  - version: 1.0.0
                                    packageName: com.example.app
                                    applicationType: android
                                    ownerOrganizationUid: org123
                                    buildHash: abc123
                                    build: '1'
                                    specs:
                                      packageName: com.example.app
                                      sdkVersion: 28
                                      supportedAbis:
                                        - arm64-v8a
                                        - armeabi-v7a
                                      versionCode: 1
                                      targetSdkVersion: 28
                                toUninstall:
                                  - packageName: com.example.oldapp
                                    applicationType: android
                                    specs:
                                      packageName: com.example.oldapp
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Telemetry Intervals
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - TELEMETRY_INTERVALS
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  telemetryIntervals:
                                    type: object
                                    properties:
                                      screenshots:
                                        type: integer
                                        description: Interval for screenshots telemetry in milliseconds
                                      temperature:
                                        type: integer
                                        description: Interval for temperature telemetry in milliseconds
                                      applicationVersion:
                                        type: integer
                                        description: Interval for application version telemetry in milliseconds
                                      frontDisplayVersion:
                                        type: integer
                                        description: Interval for front display version telemetry in milliseconds
                                      brightness:
                                        type: integer
                                        description: Interval for brightness telemetry in milliseconds
                                      datetime:
                                        type: integer
                                        description: Interval for datetime telemetry in milliseconds
                                      debug:
                                        type: integer
                                        description: Interval for debug telemetry in milliseconds
                                      firmwareVersion:
                                        type: integer
                                        description: Interval for firmware version telemetry in milliseconds
                                      orientation:
                                        type: integer
                                        description: Interval for orientation telemetry in milliseconds
                                      powerActionsSchedule:
                                        type: integer
                                        description: Interval for power actions schedule telemetry in milliseconds
                                      proprietaryTimers:
                                        type: integer
                                        description: Interval for proprietary timers telemetry in milliseconds
                                      remoteControl:
                                        type: integer
                                        description: Interval for remote control telemetry in milliseconds
                                      resolution:
                                        type: integer
                                        description: Interval for resolution telemetry in milliseconds
                                      timers:
                                        type: integer
                                        description: Interval for timers telemetry in milliseconds
                                      volume:
                                        type: integer
                                        description: Interval for volume telemetry in milliseconds
                                      storage:
                                        type: integer
                                        description: Interval for storage telemetry in milliseconds
                                      battery:
                                        type: integer
                                        description: Interval for battery telemetry in milliseconds
                                      policy:
                                        type: integer
                                        description: Interval for policy telemetry in milliseconds
                                      peerRecovery:
                                        type: integer
                                        description: Interval for peer recovery telemetry in milliseconds
                                      autoRecovery:
                                        type: integer
                                        description: Interval for auto recovery telemetry in milliseconds
                                      extendedManagement:
                                        type: integer
                                        description: Interval for extended management telemetry in milliseconds
                                      appModules:
                                        type: integer
                                        description: Interval for app modules telemetry in milliseconds
                                      default:
                                        type: integer
                                        description: Default interval for telemetry in milliseconds
                                    additionalProperties: false
                                required:
                                  - telemetryIntervals
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: TELEMETRY_INTERVALS
                              value:
                                telemetryIntervals:
                                  screenshots: 300000
                                  temperature: 60000
                                  volume: 30000
                                  default: 60000
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Applet
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - APPLET
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  appletUid:
                                    type: string
                                    description: Unique identifier of the applet
                                  appletVersion:
                                    type: string
                                    description: Version of the applet
                                  startsAt:
                                    description: Since when the Applet should be set on device
                                    deprecated: true
                                    type: string
                                    format: date-time
                                    example: '2021-01-30T08:30:00Z'
                                  endsAt:
                                    description: Until when the Applet should be set on device
                                    deprecated: true
                                    type: string
                                    format: date-time
                                    example: '2021-01-30T08:30:00Z'
                                  configuration:
                                    type: object
                                    additionalProperties: true
                                    description: Configuration object for the applet
                                  finishEvent:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                        description: Type of finish event
                                      data:
                                        description: Additional data for the finish event
                                    additionalProperties: false
                                    description: Event that triggers switching between multiple applets
                                    deprecated: true
                                  position:
                                    type: number
                                    description: When more than one Applet is set for device, in which order are they available on the device
                                    deprecated: true
                                required:
                                  - appletUid
                                  - appletVersion
                                  - configuration
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: APPLET
                              value:
                                appletUid: applet123
                                appletVersion: 1.0.0
                                configuration:
                                  backgroundColor: '#000000'
                                  autoplay: true
                                position: 1
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Extended Management
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - EXTENDED_MANAGEMENT
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  url:
                                    type: string
                                    nullable: true
                                    description: Extended management URL
                                required:
                                  - url
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: EXTENDED_MANAGEMENT
                              value:
                                url: http://management.example.com
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Network Interfaces
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - NETWORK_INTERFACES
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      title: wifi
                                      properties:
                                        name:
                                          type: string
                                          description: Interface name
                                        disabled:
                                          type: boolean
                                          description: Whether interface is disabled
                                        gateway:
                                          type: string
                                          description: Gateway address
                                        localAddress:
                                          type: string
                                          description: Local IP address
                                        netmask:
                                          type: string
                                          description: Network mask
                                        dns:
                                          type: array
                                          items:
                                            type: string
                                          description: DNS servers
                                        type:
                                          type: string
                                          enum:
                                            - wifi
                                          description: Interface type
                                        wifiSsid:
                                          type: string
                                          description: WiFi SSID
                                      required:
                                        - name
                                        - type
                                      additionalProperties: false
                                    - type: object
                                      title: ethernet
                                      properties:
                                        name:
                                          type: string
                                          description: Interface name
                                        disabled:
                                          type: boolean
                                          description: Whether interface is disabled
                                        gateway:
                                          type: string
                                          description: Gateway address
                                        localAddress:
                                          type: string
                                          description: Local IP address
                                        netmask:
                                          type: string
                                          description: Network mask
                                        dns:
                                          type: array
                                          items:
                                            type: string
                                          description: DNS servers
                                        type:
                                          type: string
                                          enum:
                                            - ethernet
                                          description: Interface type
                                      required:
                                        - name
                                        - type
                                      additionalProperties: false
                                description: Array of network interface configurations
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: NETWORK_INTERFACES
                              value:
                                - name: wlan0
                                  type: wifi
                                  localAddress: 192.168.1.100
                                  gateway: 192.168.1.1
                                  netmask: 255.255.255.0
                                  dns:
                                    - 8.8.8.8
                                    - 8.8.4.4
                                  wifiSsid: MyNetwork
                                - name: eth0
                                  type: ethernet
                                  disabled: true
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Display Power On
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - DISPLAY_POWER_ON
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  powerOn:
                                    type: boolean
                                    description: Whether display should be powered on
                                required:
                                  - powerOn
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: DISPLAY_POWER_ON
                              value:
                                powerOn: true
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Screenshot Capture
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - SCREENSHOT_CAPTURE
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  enabled:
                                    type: boolean
                                    description: Whether screenshot capture is enabled
                                required:
                                  - enabled
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: SCREENSHOT_CAPTURE
                              value:
                                enabled: true
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Plugin
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - PLUGIN
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  pluginUid:
                                    type: string
                                    description: Unique identifier of the plugin
                                  pluginVersion:
                                    type: string
                                    description: Version of the plugin
                                  set:
                                    type: object
                                    additionalProperties: true
                                    description: Plugin set configuration
                                  configuration:
                                    type: object
                                    additionalProperties: true
                                    description: Plugin configuration object
                                required:
                                  - pluginUid
                                  - pluginVersion
                                  - set
                                  - configuration
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: PLUGIN
                              value:
                                pluginUid: plugin123
                                pluginVersion: 2.1.0
                                set:
                                  enabled: true
                                configuration:
                                  apiKey: secret123
                                  interval: 30
                              updatedAt: '2021-03-30T18:57:33.669Z'
                          - title: Runner
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - RUNNER
                                description: Type of device setting
                              applicationType:
                                type: string
                                enum: *ref_27
                                description: |
                                  Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                              value:
                                type: object
                                properties:
                                  runnerUid:
                                    type: string
                                    description: Unique identifier of the runner
                                  runnerVersion:
                                    type: string
                                    description: Version of the runner
                                  configuration:
                                    type: object
                                    additionalProperties: true
                                    description: Runner configuration object
                                required:
                                  - runnerUid
                                  - runnerVersion
                                  - configuration
                                additionalProperties: false
                              updatedAt:
                                type: string
                                format: date-time
                                example: '2021-01-30T08:30:00Z'
                            required:
                              - type
                              - value
                            additionalProperties: false
                            example:
                              type: RUNNER
                              value:
                                runnerUid: runner123
                                runnerVersion: 1.5.0
                                configuration:
                                  maxMemory: 512mb
                                  timeout: 300
                              updatedAt: '2021-03-30T18:57:33.669Z'
                        discriminator:
                          propertyName: type
                        description: A policy item that defines device settings. The type field determines which specific policy item type this is.
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    deletedAt:
                      description: Field `deletedAt` is included in the response only when the query parameter `deleted=true` is specified — i.e., when you want to fetch deleted policies.
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    deviceCount:
                      type: integer
                      description: Number of devices this policy is assigned to
                      nullable: true
                  required: &ref_399
                    - uid
                    - name
                    - organizationUid
                    - items
                    - createdAt
                    - updatedAt
                  additionalProperties: false
                  example: &ref_400
                    uid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                    name: My device Policy
                    organizationUid: 9fefb9905b6195c5f77062a40c6fee79abc0
                    note: Set high volume and brightness by my store opening hours
                    items: []
                    createdAt: '2021-03-30T18:57:33.669Z'
                    updatedAt: '2021-03-30T18:57:33.669Z'
                    deviceCount: 5
              example:
                - uid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                  name: My device Policy
                  organizationUid: 9fefb9905b6195c5f77062a40c6fee79abc0
                  createdAt: '2021-03-30T18:57:33.669Z'
                  updatedAt: '2021-03-30T18:57:33.669Z'
                  items: []
                  deviceCount: 5
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Policy
      summary: Create Policy
      description: Create new policy in specified Organization.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 50
                organizationUid:
                  type: string
                  description: Required if authenticating as an Account
                items:
                  description: Array of policy items that define the device settings
                  type: array
                  items: *ref_397
              required:
                - name
              example:
                name: My new policy
                organizationUid: '{{organizationUid}}'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/policy/count:
    get:
      tags:
        - Policy
      summary: Count Policies
      description: Count all policies for current Organization.
      parameters:
        - name: archived
          in: query
          schema:
            type: boolean
          description: Deprecated - use `deleted` instead. Filter archived/active policies. Accepted values '0', '1', 'true', 'false'
          example: false
          deprecated: true
        - name: deleted
          in: query
          schema: *ref_162
        - name: name
          in: query
          schema:
            type: string
            maxLength: 50
          description: Filter policies by name (partial match)
          example: My Policy
        - name: deviceCountGt
          in: query
          schema:
            type: number
          description: Filter policies that have more than the specified number of devices assigned
          example: 10
        - name: deviceCountLt
          in: query
          schema:
            type: number
          description: Filter policies that have fewer than the specified number of devices assigned
          example: 100
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/policy/{policyUid}:
    get:
      tags:
        - Policy
      summary: Get Policy
      description: Get one policy by `policyUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: policyUid
          in: path
          schema: *ref_244
          required: true
          example: '{{policyUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_398
                required: *ref_399
                additionalProperties: false
                example: *ref_400
              example:
                uid: a75e1c9087af913c32ec35cd7b5b812193163d06cef952cb00
                name: My device Policy
                organizationUid: 9fefb9905b6195c5f77062a40c6fee79abc0
                createdAt: '2021-03-30T18:57:33.669Z'
                updatedAt: '2021-03-30T18:57:33.669Z'
                items: []
                deviceCount: 5
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Policy
      summary: Update Policy
      description: Update existing policy in the organization by `policyUid`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: The properties `name` and `items` are both optional, but at least one must be provided to update a policy
              properties:
                name:
                  type: string
                note:
                  type: string
                items:
                  type: array
                  items:
                    type: object
              example:
                name: My updated Policy name
                note: Set high volume and brightness by my store opening hours
                items:
                  - type: VOLUME
                    value:
                      volume: 100
                  - type: VOLUME
                    value:
                      volume: 90
                    applicationType: tizen
                  - type: BRIGHTNESS
                    value:
                      - brightness: 100
                        time: '10:00'
                      - brightness: 10
                        time: '22:00'
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: policyUid
          in: path
          schema: *ref_244
          required: true
          example: '{{policyUid}}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/policy/{policyUid}/archive:
    put:
      tags:
        - Policy
      summary: Archive Policy
      description: |-
        Archive existing policy by `policyUid`.

        ## Parameters

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `policyUid` | string | required | Unique Policy Identification |

        ## Body

        | **Field** | **Type** | **Required** | **Description** |
        | --- | --- | --- | --- |
        | `archived` | boolean | required | If true policy is archived and not active. |
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                archived: true
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: policyUid
          in: path
          schema: *ref_244
          required: true
          example: '{{policyUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/policy/{policyUid}/clone:
    put:
      tags:
        - Policy
      summary: Clone Policy
      description: Clone existing policy in organization by `policyUid`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - organizationUid
              properties:
                name:
                  type: string
                  maxLength: 50
                  description: New name of the cloned policy.
                organizationUid:
                  type: string
                  description: Organization UID where will be new policy cloned.
              example:
                name: My new cloned policy
                organizationUid: 9adaf389cbfffc81ca92e9563bc83df669c8
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: policyUid
          in: path
          schema: *ref_244
          required: true
          example: '{{policyUid}}'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
  /v1/runner:
    get:
      tags:
        - Runner
      summary: List runners
      description: Retrieves a list of runners for the organization
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: name
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `name`. Returns records where the `name` contains the specified text.
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: platforms
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: Filter by supported platforms
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by tags
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_401
                    uid:
                      type: string
                      description: Unique runner identification
                      example: runner_abc123def456
                    name:
                      type: string
                      description: Runner name
                      example: Task Runner Manager
                    title:
                      type: string
                      description: Runner title
                      example: Task Runner Manager
                    organizationUid:
                      type: string
                      description: Organization unique identification
                      example: 6sdf5a5esr74asd4zdwtuy
                    description:
                      type: string
                      description: Runner description
                      example: Manages device task execution and workflow processing
                    tagUids:
                      type: array
                      items:
                        type: string
                      description: Tags associated with the runner
                      example:
                        - tag_12345
                        - tag_67890
                    supportedPlatforms:
                      type: array
                      items:
                        type: string
                        enum: *ref_27
                        description: |
                          Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                      description: Supported platforms
                      example:
                        - tizen
                        - webos
                        - android
                    latestVersion:
                      type: string
                      description: The latest version of the runner
                      example: 1.0.0
                    deviceCount:
                      type: integer
                      description: Number of devices with this runner assigned
                      example: 42
                    createdAt:
                      type: string
                      format: date-time
                      description: Runner creation timestamp
                      example: '2024-01-15T10:30:00.000Z'
                    updatedAt:
                      type: string
                      format: date-time
                      description: Runner last update timestamp
                      example: '2024-01-20T14:45:00.000Z'
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedBy:
                      type: object
                      properties: *ref_157
                  required: &ref_402
                    - uid
                    - name
                    - title
                    - organizationUid
                    - supportedPlatforms
                    - deviceCount
                    - createdAt
                    - updatedAt
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Runner
      summary: Create runner
      description: Creates a new runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 2
                  maxLength: 255
                  pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$
                  description: Name can contain only letters, numbers divided by dashes. It must start and end with a letter or a number.
                title:
                  type: string
                  description: Runner title
                  example: Task Runner Manager
                organizationUid:
                  type: string
                  description: Organization unique identification
                  example: 6sdf5a5esr74asd4zdwtuy
                description:
                  type: string
                  description: Runner description
                  example: Manages device task execution and workflow processing
                tagUids:
                  type: array
                  items:
                    type: string
                  description: Tags associated with the runner
                  example:
                    - tag_12345
                    - tag_67890
              required:
                - name
                - title
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                message: OK
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/count:
    get:
      tags:
        - Runner
      summary: Count Runners
      description: Retrieves the count of runners for the organization
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: name
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `name`. Returns records where the `name` contains the specified text.
        - name: title
          in: query
          schema:
            type: string
          description: Filters results based on a partial match of the `title`. Returns records where the `title` contains the specified text.
        - name: platforms
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: Filter by supported platforms
        - name: status
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - draft
                - published
                - deprecated
          description: Filter by runner status
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: Filter by tags
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/{runnerUid}:
    get:
      tags:
        - Runner
      summary: Get runner
      description: Retrieves a specific runner by UID
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties: *ref_401
                required: *ref_402
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Runner
      summary: Update runner
      description: Updates an existing runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 2
                  maxLength: 255
                  pattern: ^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$
                  description: Name can contain only letters, numbers divided by dashes. It must start and end with a letter or a number.
                organizationUid:
                  type: string
                  description: Required if authenticating as an Account
                title:
                  type: string
                  description: Runner title
                  example: Task Runner Manager
                description:
                  type: string
                  description: Runner description
                  example: Manages device task execution and workflow processing
                tagUids:
                  type: array
                  items:
                    type: string
                  description: Tags associated with the runner
                  example:
                    - tag_12345
                    - tag_67890
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Runner
      summary: Delete runner
      description: Deletes a runner by UID
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: deleteVersions
          in: query
          schema:
            type: boolean
          description: |
            Should delete all versions of the runner. If not provided, only the runner will be deleted or the request will fail if the runner has versions.
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/{runnerUid}/version:
    get:
      tags:
        - Runner/Version
      summary: List runner versions
      description: Retrieves all versions of a specific runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Runner version contains code for multiple target platforms that implements the same logic for each platform
                  properties: &ref_403
                    uid:
                      type: string
                      description: Unique version identification
                      example: version_xyz789abc123
                    runnerUid:
                      type: string
                      description: Parent runner UID
                      example: runner_abc123def456
                    version:
                      type: string
                      description: Version number
                      example: 1.2.0
                    configDefinition:
                      type: array
                      items: *ref_196
                      default: *ref_197
                    input:
                      type: array
                      items: *ref_196
                      default: *ref_197
                    output:
                      type: array
                      items: *ref_196
                      default: *ref_197
                    telemetry:
                      type: array
                      items: *ref_196
                      default: *ref_197
                    jsApiVersion:
                      type: string
                      description: Picks which version of JS API will be available in the Runner runtime.
                      example: 1.0.0
                    description:
                      type: string
                      description: Runner version description
                      example: This runner version includes support for new features and bug fixes.
                    createdAt:
                      type: string
                      format: date-time
                      description: Runner creation timestamp
                      example: '2024-01-15T10:30:00.000Z'
                    updatedAt:
                      type: string
                      format: date-time
                      description: Runner last update timestamp
                      example: '2024-01-20T14:45:00.000Z'
                    createdBy:
                      type: object
                      properties: *ref_157
                    updatedBy:
                      type: object
                      properties: *ref_157
                    publishedAt:
                      type: string
                      format: date-time
                      description: Timestamp when the version was published
                      example: '2024-01-20T14:45:00.000Z'
                    deprecatedAt:
                      type: string
                      format: date-time
                      description: Timestamp when the version was deprecated
                      example: '2024-02-20T14:45:00.000Z'
                  required: &ref_404
                    - uid
                    - runnerUid
                    - version
                    - configDefinition
                    - input
                    - output
                    - description
                    - createdAt
                    - updatedAt
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Runner/Version
      summary: Create runner version
      description: Creates a new version of an existing runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: string
                  description: Version number
                  example: 1.2.0
                configDefinition:
                  type: array
                  items: *ref_196
                  default: *ref_197
                input:
                  type: array
                  items: *ref_196
                  default: *ref_197
                output:
                  type: array
                  items: *ref_196
                  default: *ref_197
                telemetry:
                  type: array
                  items: *ref_196
                  default: *ref_197
                jsApiVersion:
                  type: string
                  description: Picks which version of JS API will be available in the Runner runtime.
                  example: 1.0.0
                description:
                  type: string
                  description: Runner version description
                  example: This runner version includes support for new features and bug fixes.
              required:
                - version
                - configDefinition
                - description
                - input
                - output
                - telemetry
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/{runnerUid}/version/count:
    get:
      tags:
        - Runner/Version
      summary: Count Runner Versions
      description: Retrieves the count of all versions of a specific runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
      responses:
        '200':
          description: OK
          content: *ref_152
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/{runnerUid}/version/{version}:
    get:
      tags:
        - Runner/Version
      summary: Get runner version by uid
      description: Retrieves a specific version of a specific runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: &ref_405
            type: string
          description: Runner version
          example: 1.3.0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                description: Runner version contains code for multiple target platforms that implements the same logic for each platform
                properties: *ref_403
                required: *ref_404
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Runner/Version
      summary: Update runner version
      description: Updates a specific version of an existing runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                jsApiVersion:
                  type: string
                  description: Picks which version of JS API will be available in the Runner runtime. This only applies to "browser" runtime. If not provided, the latest version will be used.
                configDefinition:
                  type: array
                  items: *ref_196
                  default: *ref_197
              example:
                configDefinition:
                  - name: screenWidth
                    valueType: number
                    placeholder: placeholder
                    description: Screen width in pixels
                    mandatory: false
                jsApiVersion: 1.0.0
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Runner/Version
      summary: Delete runner version
      description: Deletes a specific version of an existing runner
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: x-auth
          in: header
          schema: *ref_376
          description: Account authorization key and token
          example: '{{x-auth-account}}'
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/{runnerUid}/version/{version}/platform:
    get:
      tags:
        - Runner/Version/Platform
      summary: Get Runner Version Platforms
      description: Get all existing platforms for a specific Runner version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_407
                    platform:
                      description: Platform for which the runner is intended
                      example: linux
                      type: string
                      enum: *ref_27
                    runtime:
                      description: Runtime environment for the runner
                      example: sh
                      type: string
                      enum: &ref_406
                        - ps1
                        - bash
                        - sh
                        - nodejs
                        - browser
                        - brs
                    archiveUri:
                      type: string
                      description: URI to the runner archive file
                      example: https://example.com/runner.zip
                    md5Checksum:
                      type: string
                      description: MD5 checksum of the runner archive
                      example: d41d8cd98f00b204e9800998ecf8427e
                    mainFile:
                      type: string
                      description: Main file of the runner
                      example: index.js
                  required: &ref_408
                    - platform
                    - runtime
                    - archiveUri
                    - md5Checksum
                    - mainFile
        '404':
          description: Not Found
          content: *ref_4
    post:
      tags:
        - Runner/Version/Platform
      summary: Create Runner Version Platform
      description: Add a new supported platform for specific Runner version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                platform:
                  description: Platform for which the runner is intended
                  example: linux
                  type: string
                  enum: *ref_27
                runtime:
                  description: Runtime environment for the runner
                  example: sh
                  type: string
                  enum: *ref_406
                md5Checksum:
                  type: string
                  description: MD5 checksum of the runner archive
                  example: d41d8cd98f00b204e9800998ecf8427e
                mainFile:
                  type: string
                  description: Main file of the runner
                  example: index.js
              required:
                - platform
                - runtime
                - md5Checksum
                - mainFile
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/{runnerUid}/version/{version}/platform/{platform}:
    get:
      tags:
        - Runner/Version/Platform
      summary: Get Runner Version Platform
      description: Get supported platforms for a specific Runner version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
        - name: platform
          in: path
          schema: &ref_409
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          required: true
          description: platform of the runner
          example: tizen
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_407
                required: *ref_408
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Runner/Version/Platform
      summary: Update Runner Version Platform
      description: Update platform for a specific Runner version.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
        - name: platform
          in: path
          schema: *ref_409
          required: true
          description: platform of the runner
          example: tizen
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                runtime:
                  type: string
                  enum: *ref_406
                md5Checksum:
                  type: string
                mainFile:
                  type: string
              required:
                - runtime
                - md5Checksum
                - mainFile
              example:
                md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
                mainFile: bundle.js
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Runner/Version/Platform
      summary: Delete Runner Version Platform
      description: Delete platform for a specific Runner version
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
        - name: platform
          in: path
          schema: *ref_409
          required: true
          description: platform of the runner
          example: tizen
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/runner/{runnerUid}/version/{version}/platform/{platform}/archive:
    post:
      tags:
        - Runner/Version/Platform
      summary: Get presigned URL to upload Runner Version Platform archive
      description: Get presigned URL to upload Runner Version Platform archive containing the code
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: runnerUid
          in: path
          required: true
          schema: *ref_266
          description: Unique runner identification
          example: runner_abc123def456
        - name: version
          in: path
          required: true
          schema: *ref_405
          description: Runner version
          example: 1.3.0
        - name: platform
          in: path
          schema: *ref_409
          required: true
          description: platform of the runner
          example: tizen
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                md5Checksum:
                  type: string
              required:
                - md5Checksum
              example:
                md5Checksum: 5c407402c8268f54d1459946de7ba7a2b7711788d9bb036aab
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_204
                required: *ref_205
                example: *ref_206
        '404':
          description: Not Found
          content: *ref_4
  /v1/system-log:
    get:
      tags:
        - Organization/System Log
      summary: Get Organization System Logs
      description: |-
        Get system logs for organization.

        ## Parameters
        This endpoint uses pagination. For more information view Pagination section.
      security:
        - XAuthAccount: []
      parameters:
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: since
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Get all results since this date (included). The earliest allowed date is 30 days ago. It's not allowed to use both "since" and "until" at the same time. If not provided, the default is 7 days ago.
          example: '2025-09-01T12:45:00.000Z'
        - name: until
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: Get all results before this date. It's possible to fetch logs up to 30 days ago. It's not allowed to use both "since" and "until" at the same time. If not provided, the default is now.
          example: '2025-12-01T12:45:00.000Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    deviceIdentityHash:
                      type: string
                    organizationUid:
                      type: string
                    payload:
                      type: object
                    receivedAt:
                      type: string
                      format: date-time
                    recordedAt:
                      type: string
                      format: date-time
              example:
                - id: acd7bbfb04d428edbf9484d7e13699ffbde6fc357bebfb16c4
                  deviceIdentityHash: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                  payload:
                    type: AppletRunning
                  receivedAt: '2024-04-18T22:44:01.973Z'
                  recordedAt: '2024-04-18T22:44:01.973Z'
                - id: d2f3e255fad2dd6f3e12f0f16dc594fe99654fec351f3fa338
                  deviceIdentityHash: 9c83b5e07ee0991dce1216e2ba0338d454f1da7d4f84406761fb6
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                  payload:
                    type: DeviceAlive
                  receivedAt: '2024-04-18T22:44:01.973Z'
                  recordedAt: '2024-04-18T22:44:01.973Z'
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
  /v1/timing:
    post:
      tags:
        - Timing
      summary: Create Timing
      deprecated: true
      description: |-
        **This endpoint is deprecated, please use device/applet instead**
            

        *Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.*

        Create new Timing record for deploying selected Applet and to the target device.

        ## Body
        content-type: application/json or application/x-www-form-urlencoded
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appletUid:
                  type: string
                  description: Applet unique identification
                appletVersion:
                  type: string
                  description: Version of your applet
                deviceUid:
                  type: string
                  description: Unique device identification
                configuration:
                  oneOf:
                    - type: string
                      title: stringified JSON object
                    - type: object
                      title: JSON object
                  description: Unique configuration specific to the applet and device, usually your internal IDs, links to APIs, etc.
                startsAt:
                  type: string
                  example: '2021-01-30T08:30:00Z'
                  deprecated: true
                  description: Since when the Applet should be set on device
                endsAt:
                  type: string
                  example: '2021-01-30T08:30:00Z'
                  deprecated: true
                  description: Until when the Applet should be set on device
                position:
                  oneOf:
                    - type: number
                      title: number
                    - type: string
                      title: string
                  deprecated: true
                  description: When more then one Applet is set for device, in which order are they available on the device
                finishEvent:
                  type: object
                  deprecated: true
                  properties:
                    type:
                      type: string
                      enum: &ref_412
                        - DURATION
                        - IDLE_TIMEOUT
                        - SCREEN_TAP
                      deprecated: true
                      description: Which event is triggering switch between multiple Applets `DURATION` - after specific amount of time `SCREEN_TAP` - after display is touched `IDLE_TIMEOUT` - after time of inactivity (without any tapping on display)
                    data: {}
                  required:
                    - type
                finishEventType:
                  type: string
                  enum:
                    - DURATION
                    - IDLE_TIMEOUT
                    - SCREEN_TAP
                  deprecated: true
                  description: Which event is triggering switch between multiple Applets `DURATION` - after specific amount of time `SCREEN_TAP` - after display is touched `IDLE_TIMEOUT` - after time of inactivity (without any tapping on display)
                finishEventData:
                  deprecated: true
                  description: Used for setting DURATION or IDLE_TIMEOUT values of finishEventType
              required:
                - appletUid
                - appletVersion
                - deviceUid
              example:
                deviceUid: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
                appletUid: 4dcb018285c5ca8709bcc3beea45c306e6823ff9648e8edf6c
                appletVersion: 1.2.1
                startsAt: '2019-01-30T08:30:00Z'
                endsAt: '2021-01-30T08:30:00Z'
                position: '1'
                finishEventType: DURATION
                finishEventData: 1000
                configuration: '{"identification":"XXX"}'
      responses:
        '201':
          description: Created
          content: *ref_151
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    get:
      tags:
        - Timing
      summary: Get Timings
      deprecated: true
      description: |-
        **This endpoint is deprecated, please use device/applet instead**

        *Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.*
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: timingUid
          in: query
          schema:
            type: string
          example: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
          deprecated: true
          description: Use `uids` instead
        - name: deviceUid
          in: query
          schema:
            type: string
          example: ae831411425df581cae9d74c2a8c04386166d0cbb70ef377f2
        - name: current
          in: query
          schema:
            type: boolean
          example: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_410
                    uid:
                      type: string
                    appletUid:
                      type: string
                    deviceUid:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    updatedAt:
                      type: string
                      format: date-time
                    startsAt:
                      type: string
                      format: date-time
                      deprecated: true
                      description: Use `active` instead
                    endsAt:
                      type: string
                      format: date-time
                      deprecated: true
                      description: Use `active` instead
                    configuration:
                      type: object
                    appletVersion:
                      type: string
                    finishEvent:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - DURATION
                            - SCREEN_TAP
                            - IDLE_TIMEOUT
                        data:
                          oneOf:
                            - type: integer
                              title: integer
                            - type: string
                              title: string
                      deprecated: true
                      description: Use `active` instead
                      required:
                        - type
                    position:
                      type: integer
                      deprecated: true
                      description: Use `active` instead
                    active:
                      type: boolean
                  required: &ref_411
                    - uid
                    - appletUid
                    - deviceUid
                    - createdAt
                    - updatedAt
                    - startsAt
                    - endsAt
                    - configuration
                    - appletVersion
                    - position
                    - active
              example:
                - uid: 4dcb018285c5ca8709bcc3beea45c306e6823ff9648e8edf6c
                  appletUid: ae831411425df581cae9d74c2a8c04386166d0cbb70ef377f2
                  deviceUid: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
                  createdAt: '2021-03-31T09:40:30.431Z'
                  updatedAt: '2021-04-12T13:24:01.269Z'
                  startsAt: '2021-04-09T06:40:00.000Z'
                  endsAt: '2021-04-11T06:40:00.000Z'
                  configuration:
                    identification: 502f4d2588
                  appletVersion: 0.0.1
                  finishEvent:
                    type: DURATION
                  position: 1
                  active: true
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/timing/count:
    get:
      tags:
        - Timing
      summary: Count Timings
      deprecated: true
      description: |-
        **This endpoint is deprecated, please use device/applet instead**

        *Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.*

        Count all your Timings.
      parameters:
        - name: x-auth
          in: header
          schema: *ref_239
          description: Authorization key and token
          example: '{{x-auth}}'
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: timingUid
          in: query
          schema:
            type: string
          example: ae831411425df581cae9d74c2a8c04386166d0cbb70ef377f2
          deprecated: true
          description: Use `uids` instead
        - name: deviceUid
          in: query
          schema:
            type: string
          example: 4dcb018285c5ca8709bcc3beea45c306e6823ff9648e8edf6c
        - name: current
          in: query
          schema:
            type: boolean
          example: false
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v1/timing/{timingUid}:
    get:
      tags:
        - Timing
      summary: Get Timing
      deprecated: true
      description: |-
        **This endpoint is deprecated, please use device/applet instead**

        *Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.*

        Get Timing by `timingUid` or by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: timingUid
          in: path
          schema:
            type: string
          required: true
          example: '{{timingUid}}'
        - name: deviceUid
          in: query
          schema:
            type: string
        - name: current
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_410
                required: *ref_411
              example:
                uid: 4dcb018285c5ca8709bcc3beea45c306e6823ff9648e8edf6c
                appletUid: ae831411425df581cae9d74c2a8c04386166d0cbb70ef377f2
                deviceUid: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
                createdAt: '2021-03-31T09:40:30.431Z'
                updatedAt: '2021-04-12T13:24:01.269Z'
                startsAt: '2021-04-09T06:40:00.000Z'
                endsAt: '2021-04-11T06:40:00.000Z'
                configuration:
                  identification: 502f4d2588
                appletVersion: 0.0.1
                finishEvent:
                  type: DURATION
                position: 1
                active: true
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Timing
      summary: Update Timing
      deprecated: true
      description: |-
        **This endpoint is deprecated, please use device/applet instead**

        *Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.*


        Update device Timing with the selected Applet and assign it to the device. You can update the applet version and more.

        ## Remarks on startsAt and endsAt:

        *   When you set endsAt to timing, it sticks to device until applet with later startsAt date is in the system. In the most of cases you just set startsAt and endsAt date to the same value.
        *   `configuration` values have to be always a `key`\-`value` pairs where `value` is a **string**. To pass JSON object use `JSON.stringify()`
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: timingUid
          in: path
          schema:
            type: string
          required: true
          example: 4dcb018285c5ca8709bcc3beea45c306e6823ff9648e8edf6c
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                deviceUid:
                  type: string
                  deprecated: true
                  description: Deprecated, this field will be ignored
                appletUid:
                  type: string
                  deprecated: true
                  description: Deprecated, this field will be ignored
                appletVersion:
                  type: string
                  description: Version of your applet
                configuration:
                  oneOf:
                    - type: string
                      format: json
                      title: stringified JSON object
                    - type: object
                      title: JSON object
                  description: Unique configuration specific to the applet and device, usually your internal ID’s, links to APIs, etc.
                configurationSet:
                  type: object
                  description: For partial update of timing configuration. Cannot be used together with configuration in same request
                configurationRemoveKeys:
                  type: array
                  items:
                    type: string
                  description: For removing parts of timing configuration. Cannot be used together with configuration in same request
                active:
                  type: boolean
                  default: true
                  description: If true, other timings on the same device will be disabled
                startsAt:
                  type: string
                  example: '2021-01-30T08:30:00Z'
                  deprecated: true
                  description: Since when the Applet should be set on device
                endsAt:
                  type: string
                  example: '2021-01-30T08:30:00Z'
                  deprecated: true
                  description: Until when the Applet should be set on device
                position:
                  oneOf:
                    - type: number
                      title: number
                    - type: string
                      format: number
                      title: string
                  deprecated: true
                  description: When more then one Applet is set for device, in which order are they available on the device
                finishEvent:
                  deprecated: true
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - DURATION
                        - IDLE_TIMEOUT
                        - SCREEN_TAP
                    data:
                      description: Used for setting DURATION or IDLE_TIMEOUT values of finishEventType
                  required:
                    - type
                finishEventType:
                  type: string
                  enum: *ref_412
                  deprecated: true
                  description: Which event is triggering switch between multiple Applets `DURATION` - after specific amount of time `SCREEN_TAP` - after display is touched `IDLE_TIMEOUT` - after time of inactivity (without any tapping on display)
                finishEventData:
                  deprecated: true
                  description: Used for setting DURATION or IDLE_TIMEOUT values of finishEventType
              example:
                appletVersion: 2.0.1
                startsAt: '2019-01-30T08:30:00Z'
                endsAt: '2021-01-30T08:30:00Z'
                position: '1'
                finishEventType: DURATION
                finishEventData: 1000
                configuration: '{''identification'':''XXX''}'
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
    delete:
      tags:
        - Timing
      summary: Delete Timing
      deprecated: true
      description: |-
        **This endpoint is deprecated, please use device/applet instead**

        *Timing might be a misleading name (apologies), but it has nothing to do with scheduling content. Timing is an endpoint that will allow you to set your Applet on device.*

        Delete existing Timing by unique id.
      security:
        - XAuthOrganization: []
      parameters:
        - name: timingUid
          in: path
          schema:
            type: string
          required: true
          example: cf98c9d5f3442737e40221838bf2ef92f2b1173786ad3cb61519b
      responses:
        '204':
          description: No content
        '404':
          description: Not Found
          content: *ref_4
  /v1/uptime:
    get:
      tags:
        - Uptime
      summary: Get uptime stats
      description: Get device connection uptime for the device.
      parameters:
        - name: since
          in: query
          schema:
            type: string
          description: Default date is month ago
          example: '2017-08-02T13:45:40.000Z'
        - name: until
          in: query
          schema:
            type: string
          description: Default date is today
          example: '2017-08-02T13:45:40.000Z'
        - name: deviceUid
          in: query
          schema:
            type: string
          description: All devices per organization are included by default and you can specify one device by its uid
          example: '{{deviceUid}}'
      security:
        - XAuthOrganization: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  uptime:
                    type: integer
                    description: Time in seconds during which a device was online
                  downtime:
                    type: integer
                    description: Time in seconds during which a device was offline
                  total:
                    type: integer
                    description: Compound time in seconds since registration to our system
                  availabilityPercent:
                    type: integer
                    description: Uptime converted to percentage
                  since:
                    description: Start of time interval, default value is beginning of previous month
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
                  until:
                    description: Stop of time interval, default value is current time
                    type: string
                    format: date-time
                    example: '2021-01-30T08:30:00Z'
              example:
                uptime: 58728858
                downtime: 61175894
                total: 119904752
                availabilityPercent: 96
                since: '2022-03-01T14:37:02.972Z'
                until: '2022-04-01T14:37:02.973Z'
  /v2/device:
    get:
      tags:
        - Device
      summary: Get Devices V2
      description: |-
        Get all devices for current Organization.
        This endpoint uses pagination. For more information view Pagination section. Max allowed page size is 1000.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters: &ref_414
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: omitNulls
          in: query
          schema:
            type: boolean
            default: false
          description: By passing this option, all null values will be omitted (no nulls will be returned). This is the intended behaviour and it is recommended to enable it.
        - name: excludeUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: uids to exclude
          example:
            - 1b4db7eb40575ddf91e036dec72071f5,0ce2bf9d493f4736b047e2ea3224b798
        - name: applicationType
          deprecated: true
          in: query
          schema:
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: deprecated use applicationTypes instead. Filter by application type
          example: tizen
        - name: applicationTypes
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: match any application type
          example:
            - tizen
            - chromeos
        - name: excludeApplicationTypes
          in: query
          schema:
            type: array
            items:
              type: string
              enum: *ref_27
              description: |
                Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
          description: application types to exclude
          example:
            - windows
            - linux
        - name: search
          in: query
          schema:
            type: string
            maxLength: 256
          description: |-
            fulltext search that will search following fields:
              
              * uid
              * duid
              * name
              * model
              * serial number
              * verification hash
              * wifi mac address
              * wifi ip address
              * ethernet mac address
              * ethernet ip address
          example: Marge
        - name: model
          deprecated: true
          in: query
          schema:
            type: string
          description: deprecated use models instead. Filter by device model
          example: LGE-55SM5C-BF-1
        - name: models
          deprecated: true
          in: query
          schema:
            type: array
            items:
              type: string
          description: match any device model
          example:
            - LGE-55SM5C-BF-1
            - Elo Backpack-5
        - name: brand
          deprecated: true
          in: query
          schema:
            type: string
          description: deprecated use brands instead. Filter by device brand
          example: Sony
        - name: brands
          in: query
          schema:
            type: array
            items:
              type: string
          description: match any device brand
          example:
            - Sony
            - LG
        - name: osVersion
          deprecated: true
          in: query
          schema:
            type: string
          description: deprecated use osVersions instead. Filter by device OS version
          example: '6.5'
        - name: osVersions
          in: query
          schema:
            type: array
            items:
              type: string
              format: semver
          description: match any version provided
          example:
            - '6.5'
            - '7.0'
        - name: serialNumber
          deprecated: true
          in: query
          schema:
            type: string
          description: deprecated use serialNumbers instead. Filter by serial number
          example: EQK70AAY72Y8
        - name: serialNumbers
          in: query
          schema:
            type: array
            items:
              type: string
          description: filter by serial numbers
          example:
            - EQK70AAY72Y8
            - 3Z02ADSS0X
        - name: firmwareVersion
          deprecated: true
          in: query
          schema:
            type: string
            format: semver
          description: deprecated use firmwareVersions instead. Filter by firmware version
          example: 4.3.0
        - name: firmwareVersions
          in: query
          schema:
            type: array
            items:
              type: string
              format: semver
          description: match any firmware version
          example:
            - 4.3.0
            - 3.0.1
        - name: firmwareTypes
          in: query
          schema:
            type: array
            items:
              type: string
          description: filter by firmware types
          example:
            - benq_sl490
            - rpi
        - name: locationUid
          in: query
          schema:
            type: string
          deprecated: true
          description: deprecated - use locationUids instead. Filter by location
          example: c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
        - name: locationUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: include devices from any of these locations
          example:
            - c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
            - 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
        - name: appletUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: filter by list of applets
          example:
            - c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
            - 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
        - name: activeAppletVersions
          in: query
          schema:
            type: array
            items:
              type: string
              format: semver
          description: filter by active applet's versions
          example:
            - 2.4.5
            - 0.0.1
        - name: policyUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: match any of the policies
          example:
            - c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
            - 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
        - name: allPolicyUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: match all of the policies
          example:
            - c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
            - 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
        - name: tagUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: match all of the tags
          example:
            - c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
            - 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
        - name: exclusiveTagUids
          in: query
          schema:
            type: array
            items:
              type: array
              items:
                type: string
          description: match any of the tag sets
          example:
            - - c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
              - 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
        - name: alertUid
          deprecated: true
          in: query
          schema:
            type: string
          description: deprecated use alertUids instead. Filter by alert
          example: c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
        - name: alertUids
          in: query
          schema:
            type: array
            items:
              type: string
          description: filter by alertUids
          example:
            - c0a7bc43cf2f64cb6969c3bd2824dd045f6dd53db78a13a2f0
            - 8dda7620af7b485ab14fb1e6fb9952717d276e32adb8aa291c
        - name: hasPolicy
          in: query
          schema:
            type: boolean
          description: filter if device is assigned to any policy or not
          example: true
        - name: bannedSince
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: matches all devices banned since (inclusive)
          example: '2021-01-30T08:30:00Z'
        - name: createdSince
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: match all createdAt dates more or equal to
          example: '2021-01-30T08:30:00Z'
        - name: createdUntil
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: match all createdAt dates less or equal to
          example: '2021-01-30T08:30:00Z'
        - name: monitoringStatus
          in: query
          schema:
            type: string
            enum:
              - online
              - offline
          description: match devices by their monitoring status. To specify the time frame to examine use `monitoringStatusSince` and `monitoringStatusUntil`. If neither is provided only the latest status will be examined
          example: online
        - name: monitoringStatusSince
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: specify from when to examine monitoring status. Matches greater or equal dates. Must be combined with monitoringStatus. Default is now
          example: '2021-01-30T08:30:00Z'
        - name: monitoringStatusUntil
          in: query
          schema:
            type: string
            format: date-time
            example: '2021-01-30T08:30:00Z'
          description: specify up to when to examine monitoring status. Matches lesser dates. Must be combined with monitoringStatus. Default is now
          example: '2021-01-30T08:30:00Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_415
                    uid:
                      type: string
                    duid:
                      type: string
                    name:
                      type: string
                      nullable: true
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    createdBy:
                      oneOf: &ref_413
                        - type: object
                          title: account identity
                          properties:
                            account:
                              type: object
                              properties:
                                accountId:
                                  type: number
                                email:
                                  type: string
                                  format: email
                                name:
                                  type: string
                              required:
                                - accountId
                                - email
                                - name
                          required:
                            - account
                        - type: object
                          title: organization identity
                          properties:
                            organization:
                              type: object
                              properties:
                                uid:
                                  type: string
                                title:
                                  type: string
                              required:
                                - uid
                                - title
                          required:
                            - organization
                    updatedBy:
                      oneOf: *ref_413
                    applicationType:
                      type: string
                      enum: *ref_27
                      description: |
                        Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                    firmwareVersion:
                      type: string
                      nullable: true
                    model:
                      type: string
                      nullable: true
                    serialNumber:
                      type: string
                      nullable: true
                    brand:
                      type: string
                      nullable: true
                    osVersion:
                      type: string
                      nullable: true
                    organizationUid:
                      type: string
                    locationUid:
                      type: string
                      nullable: true
                    connectionMethod:
                      type: string
                      enum:
                        - websocket
                        - http
                    featureFlags:
                      type: object
                      properties:
                        screenshotCapture:
                          type: boolean
                        systemLogs:
                          type: boolean
                        cpuUsage:
                          type: boolean
                        memoryUsage:
                          type: boolean
                        plugins:
                          type: boolean
                        runners:
                          type: boolean
                        customScripts:
                          type: boolean
                      nullable: true
                  required: &ref_416
                    - uid
                    - duid
                    - createdAt
                    - updatedAt
                    - connectionMethod
              example:
                - uid: c0752280cc7d009c57422be6927b660d7d71456d76b5e2dgdfgdfgd
                  duid: 2221b195b6350a6c71318e56e4d493a585f42b6d9c387wqqww334
                  name: Test Emulator
                  createdAt: '2021-04-18T22:26:39.405Z'
                  updatedAt: '2021-04-18T22:26:39.405Z'
                  applicationType: default
                  firmwareVersion: Chrome-89.0.4389.114
                  model: Linux x86_64
                  serialNumber: EQK70AAY72Y8
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                  locationUid: qn7tks6io6vckl59hxpnmgbzdzxwob3xsh0ezowsqi8cox08o3
                  connectionMethod: websocket
                - uid: a85c36fed490sadasc5f564d1045ac09a16b2d2e589d77ef0daa9fb3
                  duid: adsaskdb84jaljdf9a989e6805d45131b75305fba4c
                  name: Lobby Display
                  createdAt: '2017-08-02T13:45:39.480Z'
                  updatedAt: '2024-10-11T22:26:39.405Z'
                  applicationType: webos
                  firmwareVersion: 04.75.70
                  model: LGE-55SM5C-BF-1
                  serialNumber: KIO880AAY72Y
                  organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                  locationUid: qn7tks6io6vckl59hxpnmgbzdzxwob3xsh0ezowsqi8cox08o3
                  connectionMethod: http
                  createdBy:
                    organization:
                      uid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                      title: Big Signage inc.
                  updatedBy:
                    account:
                      accountId: 7
                      email: john.doe@email.com
                      name: John Doe
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v2/device/count:
    get:
      tags:
        - Device
      summary: Get Devices V2 count
      description: Get count of devices for current Organization.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters: *ref_414
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v2/device/{deviceUid}:
    get:
      tags:
        - Device
      summary: Get Device V2
      description: Get one device detail by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: organizationUids
          in: query
          schema: *ref_15
          example: *ref_16
          description: Filter by Organization UIDs
        - name: companyUid
          in: query
          schema: *ref_160
          example: 6bbbhah3edf692hh07abpbbc65g935cf56dhe100464fg29f9a
          description: Filter by Company UID
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
        - name: omitNulls
          in: query
          schema:
            type: boolean
            default: false
          description: By passing this option, all null values will be omitted (no nulls will be returned). This is the intended behaviour and it is recommended to enable it.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_415
                required: *ref_416
              example:
                uid: a85c36fed490sadasc5f564d1045ac09a16b2d2e589d77ef0daa9fb3
                duid: adsaskdb84jaljdf9a989e6805d45131b75305fba4c
                name: Lobby Display
                createdAt: '2017-08-02T13:45:39.480Z'
                updatedAt: '2024-10-11T22:26:39.405Z'
                applicationType: webos
                firmwareVersion: 04.75.70
                model: LGE-55SM5C-BF-1
                serialNumber: KIO880AAY72Y
                organizationUid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                locationUid: qn7tks6io6vckl59hxpnmgbzdzxwob3xsh0ezowsqi8cox08o3
                connectionMethod: http
                createdBy:
                  organization:
                    uid: f4dc889c5bfae798bd652e5d0989e6805d45131b753dwwfgrte
                    title: Big Signage inc.
                updatedBy:
                  account:
                    accountId: 7
                    email: john.doe@email.com
                    name: John Doe
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
    put:
      tags:
        - Device
      summary: Configure Device
      description: Configure Device by `deviceUid`.
      security:
        - XAuthOrganization: []
        - XAuthAccount: []
      parameters:
        - name: deviceUid
          in: path
          schema: *ref_10
          required: true
          example: '{{deviceUid}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 256
                  description: Custom name for device that is between 1 and 256 characters.
                connectionMethod:
                  type: string
                  enum:
                    - websocket
                    - http
                platformUri:
                  type: string
                  format: uri
                staticBaseUrl:
                  type: string
                  format: uri
                uploadBaseUrl:
                  type: string
                  format: uri
                weinreUri:
                  type: string
                  format: uri
                extendedManagementUrl:
                  type: string
                  format: uri
                featureFlags:
                  type: object
                  properties:
                    screenshotCapture:
                      type: boolean
                    systemLogs:
                      type: boolean
                    cpuUsage:
                      type: boolean
                    memoryUsage:
                      type: boolean
                    plugins:
                      type: boolean
                    runners:
                      type: boolean
                    customScripts:
                      type: boolean
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content: *ref_2
        '403':
          description: Forbidden
          content: *ref_3
        '404':
          description: Not Found
          content: *ref_4
  /v2/firmware:
    get:
      tags:
        - Firmware
      summary: Get Firmwares
      description: Get all available firmware versions
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      parameters:
        - name: descending
          in: query
          schema: *ref_11
          description: Order resource in descending or ascending order. Default is descending order.
          example: true
        - name: limit
          in: query
          schema: *ref_12
          description: 'Maximum number of items to return per page. Next page link is available in response under header `Link`. E.g.: `<https://api.signageos/v1/example?limit=50&until=2020-10-22T16%3A10%3A00.000Z>; rel="next"`'
          example: 50
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: applicationType
          in: query
          schema:
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
        - name: manufacturerVersion
          in: query
          schema:
            type: string
          description: Exact match for the manufacturer version
        - name: semverVersionPrefix
          in: query
          schema:
            type: string
          description: Regex match of semver version from start
        - name: semverVersionSuffix
          in: query
          schema:
            type: string
          description: Regex match of semver version from end
        - name: semverVersion
          in: query
          schema:
            type: string
          description: Regex match of semver version anywhere
        - name: deviceTypePrefix
          in: query
          schema:
            type: string
          description: Regex match of device type from start
        - name: deviceTypeSuffix
          in: query
          schema:
            type: string
          description: Regex match of device type from end
        - name: deviceType
          in: query
          schema:
            type: string
          description: Regex match of device type anywhere
        - name: sortKey
          in: query
          schema:
            type: string
            enum:
              - createdAt
              - semverVersion
            default: createdAt
          description: Field to sort results by.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties: &ref_417
                    uid:
                      type: string
                    published:
                      type: boolean
                    publishedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    applicationType:
                      type: string
                      enum: *ref_27
                      description: |
                        Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
                    manufacturerVersion:
                      type: string
                    semverVersion:
                      type: string
                      format: semver
                    deviceType:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                    updatedAt:
                      type: string
                      format: date-time
                      example: '2021-01-30T08:30:00Z'
                  required: &ref_418
                    - uid
                    - published
                    - applicationType
                    - manufacturerVersion
                    - semverVersion
                    - deviceType
                    - createdAt
                    - updatedAt
              example:
                - uid: 3a7f2b1c8e4d5f6a9b0c1d2e3f4a5b6c7d8e9f0a
                  published: true
                  publishedAt: '2025-06-15T10:30:00.000Z'
                  applicationType: tizen
                  manufacturerVersion: 04.75.70
                  semverVersion: 2.12.0
                  deviceType: sssp-10
                  createdAt: '2025-06-10T08:00:00.000Z'
                  updatedAt: '2025-06-15T10:30:00.000Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v2/firmware/count:
    get:
      tags:
        - Firmware
      summary: Get Firmware Count
      description: Get count of all available firmware versions
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      parameters:
        - name: uids
          in: query
          schema: *ref_13
          example: *ref_14
          description: Filter by UIDs
        - name: applicationType
          in: query
          schema:
            type: string
            enum: *ref_27
            description: |
              Available supported application types. Type "chrome" refers to legacy Chrome OS application, which was discontinued and is deprecated. Use "chromeos" for the current Chrome OS application.
        - name: manufacturerVersion
          in: query
          schema:
            type: string
          description: Exact match for the manufacturer version
        - name: semverVersion
          in: query
          schema:
            type: string
          description: Regex match of semver version
        - name: deviceType
          in: query
          schema:
            type: string
          description: Regex match of device type
      responses:
        '200':
          description: OK
          content: *ref_152
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
  /v2/firmware/{firmwareVersionUid}:
    get:
      tags:
        - Firmware
      summary: Get Firmware
      description: Get firmware version
      security:
        - XAuthAccount: []
        - XAuthOrganization: []
      parameters:
        - name: firmwareVersionUid
          in: path
          schema:
            type: string
          description: Uid of firmware version
          required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties: *ref_417
                required: *ref_418
              example:
                uid: 3a7f2b1c8e4d5f6a9b0c1d2e3f4a5b6c7d8e9f0a
                published: true
                publishedAt: '2025-06-15T10:30:00.000Z'
                applicationType: tizen
                manufacturerVersion: 04.75.70
                semverVersion: 2.12.0
                deviceType: sssp-10
                createdAt: '2025-06-10T08:00:00.000Z'
                updatedAt: '2025-06-15T10:30:00.000Z'
        '400':
          description: Bad request
          content: *ref_2
        '404':
          description: Not Found
          content: *ref_4
components:
  schemas:
    TagTreeNode:
      allOf: *ref_419
    tagTreeNode:
      allOf: *ref_419
    string:
      allOf: *ref_379
    url:
      allOf: *ref_380
    enum:
      allOf: *ref_381
    number:
      allOf: *ref_382
    secret:
      allOf: *ref_383
    unknown:
      allOf: *ref_384
    encrypted:
      allOf: *ref_420
  securitySchemes:
    XAuthOrganization:
      type: apiKey
      in: header
      name: X-Auth
      description: |
        Organization authentication using token_id:token_secret format.

        To authenticate:
        1. Go to [Organizations section](https://box.signageos.io/organizations) in signageOS Box
        2. Generate your token_id & token_secret
        3. Use as `X-Auth` header: `token_id:token_secret`

        Example: `87e376c08d16XXXXb796294744:5ef829c933aXXXX710f5388a27fee`
    XAuthAccount:
      type: apiKey
      in: header
      name: X-Auth
      description: |
        Account-level authentication using token_id:token_secret format.

        To authenticate:
        1. Go to [Profile section](https://box.signageos.io/profile) in signageOS Box
        2. Generate your account token_id & token_secret
        3. Use as `X-Auth` header: `token_id:token_secret`

        This is used for account-specific operations that require account-level permissions.
        Format: `token_id:token_secret`

        Filling in `organizationUid` is required while using this authentication method for listing organization-specific resources.
