openapi: 3.0.2
info:
  title: CustomerAdmin connect.eyefi.com.au OpenAPI v1.1.4
  version: 1.1.4
  termsOfService: https://connect.eyefi.com.au/terms_and_conditions
  description: 'CustomerAdmin connect.eyefi.com.au OpenAPI v1.1.4

    This is the schema allowing the above user to access APIs located at https://connect.eyefi.com.au/'
paths:
  /api/1/sitemaps/:
    get:
      operationId: listSiteMaps
      description: 'return paginated array of results.

        Default ordering: address__customer,-address__default_location,address__name,address__pk,-default_sitemap,order,name,pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: name
        required: false
        in: query
        description: name
        schema:
          type: string
      - name: name__contains
        required: false
        in: query
        description: name__contains
        schema:
          type: string
      - name: address_uuid
        required: false
        in: query
        description: address_uuid
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: device_uuid
        required: false
        in: query
        description: device_uuid
        schema:
          type: string
      - name: sitemap_uuid
        required: false
        in: query
        description: sitemap_uuid
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: name,address__address,address__name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: name,address__name,order,created,modified'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/SiteMapForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Site Map Too Many Requests
      tags:
      - sitemaps
    post:
      operationId: createSiteMap
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteMapForCustomerAdminCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SiteMapForCustomerAdminCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SiteMapForCustomerAdminCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteMapForCustomerAdminCreate'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Site Map Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Site Map Too Many Requests
      tags:
      - sitemaps
  /api/1/sitemaps/{sitemap_uuid}/:
    get:
      operationId: retrieveSiteMap
      description: ''
      parameters:
      - name: sitemap_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteMapForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Site Map Unprocessable Entity
        '404':
          description: Site Map Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Site Map (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Site Map Too Many Requests
      tags:
      - sitemaps
    patch:
      operationId: partialUpdateSiteMap
      description: ''
      parameters:
      - name: sitemap_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteMapForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SiteMapForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SiteMapForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteMapForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Site Map Unprocessable Entity
        '404':
          description: Site Map Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Site Map (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Site Map Too Many Requests
      tags:
      - sitemaps
    delete:
      operationId: destroySiteMap
      description: ''
      parameters:
      - name: sitemap_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '204':
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Site Map Unprocessable Entity
        '404':
          description: Site Map Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Site Map (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Site Map Too Many Requests
      tags:
      - sitemaps
  /api/1/sitemaps/{sitemap_uuid}/img/:
    get:
      operationId: imgSiteMap
      description: 'Return the sitemap image as a http mime file for <img> embeds.

        If as_attachment parameter lower cased is one of ''1'', ''t'', ''true'', ''y'',
        ''yes''

        set header Content-Disposition: attachment otherwise Content-Disposition:
        inline

        Device must be Active and Subscribed to allow this to work.'
      parameters:
      - name: sitemap_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteMapForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Site Map Unprocessable Entity
        '404':
          description: Site Map Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Site Map (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Site Map Too Many Requests
      tags:
      - sitemaps
  /api/1/addresses/:
    get:
      operationId: listAddress
      description: 'return paginated array of results.

        Default ordering: customer,-default_location,name,pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: name
        required: false
        in: query
        description: name
        schema:
          type: string
      - name: name__contains
        required: false
        in: query
        description: name__contains
        schema:
          type: string
      - name: address
        required: false
        in: query
        description: address
        schema:
          type: string
      - name: address__contains
        required: false
        in: query
        description: address__contains
        schema:
          type: string
      - name: address_uuid
        required: false
        in: query
        description: address_uuid
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: device_uuid
        required: false
        in: query
        description: device_uuid
        schema:
          type: string
      - name: sitemap_uuid
        required: false
        in: query
        description: sitemap_uuid
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: name,address'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: name,address,created,modified'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/AddressForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Address Too Many Requests
      tags:
      - addresses
    post:
      operationId: createAddress
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressForCustomerAdminCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddressForCustomerAdminCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AddressForCustomerAdminCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressForCustomerAdminCreate'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Address Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Address Too Many Requests
      tags:
      - addresses
  /api/1/addresses/{address_uuid}/:
    get:
      operationId: retrieveAddress
      description: ''
      parameters:
      - name: address_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Address Unprocessable Entity
        '404':
          description: Address Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Address (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Address Too Many Requests
      tags:
      - addresses
    patch:
      operationId: partialUpdateAddress
      description: ''
      parameters:
      - name: address_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AddressForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/AddressForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Address Unprocessable Entity
        '404':
          description: Address Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Address (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Address Too Many Requests
      tags:
      - addresses
    delete:
      operationId: destroyAddress
      description: ''
      parameters:
      - name: address_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '204':
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Address Unprocessable Entity
        '404':
          description: Address Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Address (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Address Too Many Requests
      tags:
      - addresses
  /api/1/customers/:
    get:
      operationId: listCustomers
      description: 'return paginated array of results.

        Default ordering: name,abn,pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: customer_abn
        required: false
        in: query
        description: customer_abn
        schema:
          type: string
      - name: seller_uuid
        required: false
        in: query
        description: seller_uuid
        schema:
          type: string
      - name: seller_abn
        required: false
        in: query
        description: seller_abn
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: name,abn'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: name,abn'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/CustomerForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/:
    get:
      operationId: retrieveCustomer
      description: ''
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '404':
          description: Customer Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Customer (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
    patch:
      operationId: partialUpdateCustomer
      description: ''
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomerForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomerForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '404':
          description: Customer Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Customer (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/available_subscriptions_reports/:
    get:
      operationId: availableSubscriptionsReportsCustomer
      description: Returns a list of `available_reports` `year/month/filename` to
        be used with `report_subscriptions`
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerActionAvailableReportSubscriptions'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '404':
          description: Customer Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Customer (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/get_multiple_summary_recordings_for/:
    get:
      operationId: getMultipleSummaryRecordingsForCustomer
      description: Returns Multiple Summary Reports for Customer Device Recordings
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: date
        description: date of reports to generate
        required: false
        schema:
          type: date
        in: query
      - name: unfetched
        description: include recordings which have not been fetched
        required: false
        schema:
          type: boolean
        in: query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultipleSummaryReports'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '404':
          description: Customer Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Customer (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/get_subscriptions_report/:
    get:
      operationId: getSubscriptionsReportCustomer
      description: Returns the subscriptions CSV for query parameters `year` `month`
        if supplied, otherwise "this month" in progress.
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: year
        description: year of report to generate
        required: false
        schema:
          type: integer
        in: query
      - name: month
        description: month of report to generate
        required: false
        schema:
          type: integer
        in: query
      responses:
        '200':
          content:
            text/csv:
              schema:
                type: string
                format: binary
          description: report.csv
        '404':
          description: report.csv Not Found
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/get_summary_device_storage_for/:
    get:
      operationId: getSummaryDeviceStorageForCustomer
      description: Returns a Summary Report of Device Storage
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummaryReport'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '404':
          description: Customer Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Customer (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/get_summary_subscriptions_active_for/:
    get:
      operationId: getSummarySubscriptionsActiveForCustomer
      description: Returns a Summary Report of Customer Subscriptions which are Active
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummaryReport'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '404':
          description: Customer Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Customer (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/get_summary_users_for/:
    get:
      operationId: getSummaryUsersForCustomer
      description: Returns a Summary Report of Customer Users
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummaryReport'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '404':
          description: Customer Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Customer (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/devices/:
    get:
      operationId: listDevices
      description: 'return paginated array of results.

        Default ordering: customer,-is_active,sitemap__address__customer,-sitemap__address__default_location,sitemap__address__name,sitemap__address__pk,-sitemap__default_sitemap,sitemap__order,sitemap__name,sitemap__pk,name,id'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: name
        required: false
        in: query
        description: name
        schema:
          type: string
      - name: name__contains
        required: false
        in: query
        description: name__contains
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: device_uuid
        required: false
        in: query
        description: device_uuid
        schema:
          type: string
      - name: sitemap_uuid
        required: false
        in: query
        description: sitemap_uuid
        schema:
          type: string
      - name: address_uuid
        required: false
        in: query
        description: address_uuid
        schema:
          type: string
      - name: group_uuid
        required: false
        in: query
        description: group_uuid
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of field: name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: name,created,modified'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/DeviceForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
    post:
      operationId: createDevice
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdminCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdminCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdminCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceForCustomerAdminCreate'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
  /api/1/devices/{device_uuid}/:
    get:
      operationId: retrieveDevice
      description: ''
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '404':
          description: Device Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
    patch:
      operationId: partialUpdateDevice
      description: ''
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '404':
          description: Device Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
    delete:
      operationId: destroyDevice
      description: ''
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '204':
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '404':
          description: Device Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
  /api/1/devices/{device_uuid}/get_multiple_summary_recordings_for/:
    get:
      operationId: getMultipleSummaryRecordingsForDevice
      description: Returns Multiple Summary Reports for Device Recordings
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: date
        description: date of reports to generate
        required: false
        schema:
          type: date
        in: query
      - name: unfetched
        description: include recordings which have not been fetched
        required: false
        schema:
          type: boolean
        in: query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultipleSummaryReports'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '404':
          description: Device Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
  /api/1/devices/{device_uuid}/mjpg_img_src/:
    get:
      operationId: mjpgImgSrcDevice
      description: 'Return HTTP Redirect 302 with the URL to find the MJPEG img src
        attribute for the camera feed.

        Device must be Active and Subscribed to allow this to work.'
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: camera
        description: camera to source the live feed from. See Device.camera_choices
        required: false
        schema:
          type: integer
        in: query
      responses:
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '404':
          description: Device mjpg img src Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
        '302':
          description: Device mjpg img src Found
      tags:
      - devices
  /api/1/devices/{device_uuid}/mp4_video_src/:
    get:
      operationId: mp4VideoSrcDevice
      description: 'Return HTTP Redirect 302 with the URL to find the MP4 video src
        attribute for the camera feed.

        Device must be Active and Subscribed to allow this to work.'
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '404':
          description: Device Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
  /api/1/devices/{device_uuid}/snapshot_img/:
    get:
      operationId: snapshotImgDevice
      description: 'Obtain a recent device snapshot if possible, then return the snapshot

        as a http mime file for <img> embeds.

        If as_attachment parameter lower cased is one of ''1'', ''t'', ''true'', ''y'',
        ''yes''

        set header Content-Disposition: attachment otherwise Content-Disposition:
        inline

        Device must be Active and Subscribed to allow this to work.'
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: as_attachment
        description: 'If as_attachment parameter lower cased is one of: ''1'', ''t'',
          ''true'', ''y'', ''yes''

          set header Content-Disposition: attachment otherwise Content-Disposition:
          inline'
        required: false
        schema:
          type: boolean
        in: query
      - name: camera
        description: camera to source the snapshot from. See Device.camera_choices
        required: false
        schema:
          type: integer
        in: query
      responses:
        '200':
          content:
            image/jpg:
              schema:
                type: string
                format: binary
          description: Device snapshot.jpg
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '404':
          description: Device snapshot.jpg Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
  /api/1/groups/:
    get:
      operationId: listGroups
      description: 'return paginated array of results.

        Default ordering: customer,order,name,pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: name
        required: false
        in: query
        description: name
        schema:
          type: string
      - name: name__contains
        required: false
        in: query
        description: name__contains
        schema:
          type: string
      - name: group_uuid
        required: false
        in: query
        description: group_uuid
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: device_uuid
        required: false
        in: query
        description: device_uuid
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of field: name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: name,created,modified'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/GroupForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Too Many Requests
      tags:
      - groups
    post:
      operationId: createGroup
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupForCustomerAdminCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupForCustomerAdminCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GroupForCustomerAdminCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupForCustomerAdminCreate'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Group Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Too Many Requests
      tags:
      - groups
  /api/1/groups/{group_uuid}/:
    get:
      operationId: retrieveGroup
      description: ''
      parameters:
      - name: group_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Group Unprocessable Entity
        '404':
          description: Group Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Group (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Too Many Requests
      tags:
      - groups
    patch:
      operationId: partialUpdateGroup
      description: ''
      parameters:
      - name: group_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GroupForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Group Unprocessable Entity
        '404':
          description: Group Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Group (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Too Many Requests
      tags:
      - groups
    delete:
      operationId: destroyGroup
      description: ''
      parameters:
      - name: group_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '204':
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Group Unprocessable Entity
        '404':
          description: Group Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Group (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Too Many Requests
      tags:
      - groups
  /api/1/group-devices/:
    get:
      operationId: listGroupDevices
      description: 'return paginated array of results.

        Default ordering: group,order,device__name,device'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: group_device_uuid
        required: false
        in: query
        description: group_device_uuid
        schema:
          type: string
      - name: group_uuid
        required: false
        in: query
        description: group_uuid
        schema:
          type: string
      - name: device_uuid
        required: false
        in: query
        description: device_uuid
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available field: order'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/GroupDeviceForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Device Too Many Requests
      tags:
      - group-devices
  /api/1/group-devices/{group_device_uuid}/:
    get:
      operationId: retrieveGroupDevice
      description: ''
      parameters:
      - name: group_device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupDeviceForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Group Device Unprocessable Entity
        '404':
          description: Group Device Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Group Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Device Too Many Requests
      tags:
      - group-devices
    patch:
      operationId: partialUpdateGroupDevice
      description: ''
      parameters:
      - name: group_device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupDeviceForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupDeviceForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GroupDeviceForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupDeviceForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Group Device Unprocessable Entity
        '404':
          description: Group Device Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Group Device (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Device Too Many Requests
      tags:
      - group-devices
  /api/1/products/:
    get:
      operationId: listProducts
      description: 'return paginated array of results.

        Default ordering: -product_start,-product_end,name,product_code,-pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: name
        required: false
        in: query
        description: name
        schema:
          type: string
      - name: name__contains
        required: false
        in: query
        description: name__contains
        schema:
          type: string
      - name: product_code
        required: false
        in: query
        description: product_code
        schema:
          type: string
      - name: product_code__contains
        required: false
        in: query
        description: product_code__contains
        schema:
          type: string
      - name: product_code__in
        required: false
        in: query
        description: product_code__in
        schema:
          type: string
      - name: number_of_months
        required: false
        in: query
        description: number_of_months
        schema:
          type: string
      - name: storage_quota_mb__isnull
        required: false
        in: query
        description: storage_quota_mb__isnull
        schema:
          type: string
      - name: storage_quota_mb__gt
        required: false
        in: query
        description: storage_quota_mb__gt
        schema:
          type: string
      - name: storage_quota_mb__gte
        required: false
        in: query
        description: storage_quota_mb__gte
        schema:
          type: string
      - name: storage_quota_mb__lt
        required: false
        in: query
        description: storage_quota_mb__lt
        schema:
          type: string
      - name: storage_quota_mb__lte
        required: false
        in: query
        description: storage_quota_mb__lte
        schema:
          type: string
      - name: is_device_subscription
        required: false
        in: query
        description: is_device_subscription
        schema:
          type: string
      - name: product_uuid
        required: false
        in: query
        description: product_uuid
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: has_storage_size_mb
        required: false
        in: query
        description: has_storage_size_mb
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: product_code,name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: product_code,name,number_of_months,is_device_subscription,storage_quota_mb'
        schema:
          type: string
      - name: has_subscriptions_count
        required: false
        in: query
        description: 'true: `subscriptions_count > 0` ; false: `subscriptions_count
          == 0`'
        schema:
          type: string
      - name: has_ended_subscriptions_count
        required: false
        in: query
        description: 'true: `ended_subscriptions_count > 0` ; false: `ended_subscriptions_count
          == 0`'
        schema:
          type: string
      - name: has_seller_assigned_subscriptions_count
        required: false
        in: query
        description: 'true: `seller_assigned_subscriptions_count > 0` ; false: `seller_assigned_subscriptions_count
          == 0`'
        schema:
          type: string
      - name: has_seller_unassigned_subscriptions_count
        required: false
        in: query
        description: 'true: `seller_unassigned_subscriptions_count > 0` ; false: `seller_unassigned_subscriptions_count
          == 0`'
        schema:
          type: string
      - name: has_customer_assigned_subscriptions_count
        required: false
        in: query
        description: 'true: `customer_assigned_subscriptions_count > 0` ; false: `customer_assigned_subscriptions_count
          == 0`'
        schema:
          type: string
      - name: has_customer_unassigned_subscriptions_count
        required: false
        in: query
        description: 'true: `customer_unassigned_subscriptions_count > 0` ; false:
          `customer_unassigned_subscriptions_count == 0`'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProductForView'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Product Too Many Requests
      tags:
      - products
  /api/1/products/{product_code}/:
    get:
      operationId: retrieveProduct
      description: ''
      parameters:
      - name: product_code
        in: path
        required: true
        description: A unique value identifying this product.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductForView'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Product Unprocessable Entity
        '404':
          description: Product Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Product (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Product Too Many Requests
      tags:
      - products
  /api/1/recordings/:
    get:
      operationId: listDeviceRecordings
      description: 'return paginated array of results.

        Default ordering: -start_time,-id'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: disk_id
        required: false
        in: query
        description: disk_id
        schema:
          type: string
      - name: disk_id__contains
        required: false
        in: query
        description: disk_id__contains
        schema:
          type: string
      - name: event_id
        required: false
        in: query
        description: event_id
        schema:
          type: string
      - name: event_id__contains
        required: false
        in: query
        description: event_id__contains
        schema:
          type: string
      - name: event_trigger
        required: false
        in: query
        description: event_trigger
        schema:
          type: string
      - name: event_trigger__contains
        required: false
        in: query
        description: event_trigger__contains
        schema:
          type: string
      - name: recording_id
        required: false
        in: query
        description: recording_id
        schema:
          type: string
      - name: recording_id__contains
        required: false
        in: query
        description: recording_id__contains
        schema:
          type: string
      - name: recording_status
        required: false
        in: query
        description: recording_status
        schema:
          type: string
      - name: recording_status__contains
        required: false
        in: query
        description: recording_status__contains
        schema:
          type: string
      - name: recording_type
        required: false
        in: query
        description: recording_type
        schema:
          type: string
      - name: recording_type__contains
        required: false
        in: query
        description: recording_type__contains
        schema:
          type: string
      - name: source
        required: false
        in: query
        description: source
        schema:
          type: string
      - name: storage_recording_size_bytes__isnull
        required: false
        in: query
        description: storage_recording_size_bytes__isnull
        schema:
          type: string
      - name: storage_recording_size_bytes__gt
        required: false
        in: query
        description: storage_recording_size_bytes__gt
        schema:
          type: string
      - name: storage_recording_size_bytes__gte
        required: false
        in: query
        description: storage_recording_size_bytes__gte
        schema:
          type: string
      - name: storage_recording_size_bytes__lt
        required: false
        in: query
        description: storage_recording_size_bytes__lt
        schema:
          type: string
      - name: storage_recording_size_bytes__lte
        required: false
        in: query
        description: storage_recording_size_bytes__lte
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: device_uuid__in
        required: false
        in: query
        description: 'device_uuid list, comma separated. e.g.: 1ac841f4-7a87-11ed-b120-0242ac120002,1ae561e4-7a87-11ed-b120-0242ac120002'
        schema:
          type: string
      - name: device_uuid
        required: false
        in: query
        description: device_uuid
        schema:
          type: string
      - name: group_uuid
        required: false
        in: query
        description: group_uuid
        schema:
          type: string
      - name: acknowledged
        required: false
        in: query
        description: acknowledged
        schema:
          type: string
      - name: acknowledged_time
        required: false
        in: query
        description: acknowledged_time
        schema:
          type: string
      - name: start_time
        required: false
        in: query
        description: start_time
        schema:
          type: string
      - name: stop_time
        required: false
        in: query
        description: stop_time
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: recording_id,event_id,event_trigger,recording_type,recording_status,disk_id'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: recording_id,event_id,event_trigger,recording_type,recording_status,disk_id,start_time,stop_time,device__device_uuid,device__name'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/DeviceRecordingForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
  /api/1/recordings/{recording_uuid}/:
    get:
      operationId: retrieveDeviceRecording
      description: ''
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceRecordingForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Recording Unprocessable Entity
        '404':
          description: Device Recording Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
    delete:
      operationId: destroyDeviceRecording
      description: ''
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '204':
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Recording Unprocessable Entity
        '404':
          description: Device Recording Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
  /api/1/recordings/{recording_uuid}/fetch/:
    get:
      operationId: fetchDeviceRecording
      description: Attempts to fetch the video from the device and store it in cloud
        storage.
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceRecordingActionFetch'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Recording Unprocessable Entity
        '404':
          description: Device Recording Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
  /api/1/recordings/{recording_uuid}/snapshot_img/:
    get:
      operationId: snapshotImgDeviceRecording
      description: 'If the video is in cloud storage and has a snapshot return the
        snapshot

        as a http mime file for <img> embeds.

        If as_attachment parameter lower cased is one of ''1'', ''t'', ''true'', ''y'',
        ''yes''

        set header Content-Disposition: attachment otherwise Content-Disposition:
        inline

        Device must be Active and Subscribed to allow this to work.'
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: as_attachment
        description: 'If as_attachment parameter lower cased is one of: ''1'', ''t'',
          ''true'', ''y'', ''yes''

          set header Content-Disposition: attachment otherwise Content-Disposition:
          inline'
        required: false
        schema:
          type: boolean
        in: query
      responses:
        '200':
          content:
            image/jpg:
              schema:
                type: string
                format: binary
          description: DeviceRecording snapshot.jpg (from middle of video)
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Recording Unprocessable Entity
        '404':
          description: DeviceRecording snapshot.jpg (from middle of video) Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
  /api/1/recordings/{recording_uuid}/video/:
    get:
      operationId: videoDeviceRecording
      description: 'If the video is in cloud storage return the video

        as a http mime file for <video> embeds.

        If as_attachment parameter lower cased is one of ''1'', ''t'', ''true'', ''y'',
        ''yes''

        set header Content-Disposition: attachment otherwise Content-Disposition:
        inline

        Device must be Active and Subscribed to allow this to work.'
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: as_attachment
        description: 'If as_attachment parameter lower cased is one of: ''1'', ''t'',
          ''true'', ''y'', ''yes''

          set header Content-Disposition: attachment otherwise Content-Disposition:
          inline'
        required: false
        schema:
          type: boolean
        in: query
      responses:
        '200':
          content:
            video/mp4:
              schema:
                type: string
                format: binary
          description: DeviceRecording video.mp4
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Recording Unprocessable Entity
        '404':
          description: DeviceRecording video.mp4 Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
  /api/1/timeline-recordings/:
    get:
      operationId: listTimelineDeviceRecordings
      description: 'return paginated array of results.

        Default ordering: -start_time,-id'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: disk_id
        required: false
        in: query
        description: disk_id
        schema:
          type: string
      - name: disk_id__contains
        required: false
        in: query
        description: disk_id__contains
        schema:
          type: string
      - name: event_id
        required: false
        in: query
        description: event_id
        schema:
          type: string
      - name: event_id__contains
        required: false
        in: query
        description: event_id__contains
        schema:
          type: string
      - name: event_trigger
        required: false
        in: query
        description: event_trigger
        schema:
          type: string
      - name: event_trigger__contains
        required: false
        in: query
        description: event_trigger__contains
        schema:
          type: string
      - name: recording_id
        required: false
        in: query
        description: recording_id
        schema:
          type: string
      - name: recording_id__contains
        required: false
        in: query
        description: recording_id__contains
        schema:
          type: string
      - name: recording_status
        required: false
        in: query
        description: recording_status
        schema:
          type: string
      - name: recording_status__contains
        required: false
        in: query
        description: recording_status__contains
        schema:
          type: string
      - name: recording_type
        required: false
        in: query
        description: recording_type
        schema:
          type: string
      - name: recording_type__contains
        required: false
        in: query
        description: recording_type__contains
        schema:
          type: string
      - name: source
        required: false
        in: query
        description: source
        schema:
          type: string
      - name: storage_recording_size_bytes__isnull
        required: false
        in: query
        description: storage_recording_size_bytes__isnull
        schema:
          type: string
      - name: storage_recording_size_bytes__gt
        required: false
        in: query
        description: storage_recording_size_bytes__gt
        schema:
          type: string
      - name: storage_recording_size_bytes__gte
        required: false
        in: query
        description: storage_recording_size_bytes__gte
        schema:
          type: string
      - name: storage_recording_size_bytes__lt
        required: false
        in: query
        description: storage_recording_size_bytes__lt
        schema:
          type: string
      - name: storage_recording_size_bytes__lte
        required: false
        in: query
        description: storage_recording_size_bytes__lte
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: device_uuid__in
        required: false
        in: query
        description: 'device_uuid list, comma separated. e.g.: 1ac841f4-7a87-11ed-b120-0242ac120002,1ae561e4-7a87-11ed-b120-0242ac120002'
        schema:
          type: string
      - name: device_uuid
        required: false
        in: query
        description: device_uuid
        schema:
          type: string
      - name: group_uuid
        required: false
        in: query
        description: group_uuid
        schema:
          type: string
      - name: acknowledged
        required: false
        in: query
        description: acknowledged
        schema:
          type: string
      - name: acknowledged_time
        required: false
        in: query
        description: acknowledged_time
        schema:
          type: string
      - name: start_time
        required: false
        in: query
        description: start_time
        schema:
          type: string
      - name: stop_time
        required: false
        in: query
        description: stop_time
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: recording_id,event_id,event_trigger,recording_type,recording_status,disk_id,device__name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: recording_id,event_id,event_trigger,recording_type,recording_status,disk_id,start_time,stop_time,device__device_uuid,device__name'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/DeviceRecordingForTimeline'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - timeline-recordings
  /api/1/timeline-recordings/summary/:
    get:
      operationId: summaryTimelineDeviceRecording
      description: Generate summary of blocks
      parameters:
      - name: summary_start
        description: datetime to start the summary at
        required: true
        schema:
          type: datetime
        in: query
      - name: duration
        description: block duration for summary blocks
        required: true
        schema:
          type: duration
        in: query
      - name: block_count
        description: count of summary blocks to return
        required: true
        schema:
          type: integer
        in: query
      - name: device_uuid__in
        description: comma separated list of device uuids to restrict search to
        required: false
        schema:
          type: duration
        in: query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceRecordingSummaryForTimeline'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Recording Unprocessable Entity
        '404':
          description: Device Recording Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - timeline-recordings
  /api/1/timeline-recordings/{recording_uuid}/:
    get:
      operationId: retrieveTimelineDeviceRecording
      description: ''
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceRecordingForTimeline'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Recording Unprocessable Entity
        '404':
          description: Device Recording Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - timeline-recordings
  /api/1/sellers/:
    get:
      operationId: listSellers
      description: 'return paginated array of results.

        Default ordering: name,abn,pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: name
        required: false
        in: query
        description: name
        schema:
          type: string
      - name: name__contains
        required: false
        in: query
        description: name__contains
        schema:
          type: string
      - name: seller_uuid
        required: false
        in: query
        description: seller_uuid
        schema:
          type: string
      - name: seller_abn
        required: false
        in: query
        description: seller_abn
        schema:
          type: string
      - name: distributor_uuid
        required: false
        in: query
        description: distributor_uuid
        schema:
          type: string
      - name: distributor_abn
        required: false
        in: query
        description: distributor_abn
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: customer_abn
        required: false
        in: query
        description: customer_abn
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: abn,name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: abn,name'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/SellerForAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Seller Too Many Requests
      tags:
      - sellers
  /api/1/sellers/{seller_uuid}/:
    get:
      operationId: retrieveSeller
      description: ''
      parameters:
      - name: seller_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SellerForAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Seller Unprocessable Entity
        '404':
          description: Seller Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Seller (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Seller Too Many Requests
      tags:
      - sellers
  /api/1/sellers/{seller_uuid}/get_summary_subscriptions_not_activated/:
    get:
      operationId: getSummarySubscriptionsNotActivatedSeller
      description: Returns a Summary Report of `Not Billable Subscriptions` (Subscriptions
        which are not assigned to Customer)
      parameters:
      - name: seller_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummaryReport'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Seller Unprocessable Entity
        '404':
          description: Seller Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Seller (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Seller Too Many Requests
      tags:
      - sellers
  /api/1/subscriptions/:
    get:
      operationId: listSubscriptions
      description: 'return paginated array of results.

        Default ordering: -customer_assigned_timestamp,-end_timestamp,-ended_by_timestamp,-pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: seller__isnull
        required: false
        in: query
        description: seller__isnull
        schema:
          type: string
      - name: customer__isnull
        required: false
        in: query
        description: customer__isnull
        schema:
          type: string
      - name: subscription_key
        required: false
        in: query
        description: subscription_key
        schema:
          type: string
      - name: customer_assigned_timestamp__isnull
        required: false
        in: query
        description: customer_assigned_timestamp__isnull
        schema:
          type: string
      - name: customer_assigned_timestamp__gte
        required: false
        in: query
        description: customer_assigned_timestamp__gte
        schema:
          type: string
      - name: customer_assigned_timestamp__gt
        required: false
        in: query
        description: customer_assigned_timestamp__gt
        schema:
          type: string
      - name: customer_assigned_timestamp__lte
        required: false
        in: query
        description: customer_assigned_timestamp__lte
        schema:
          type: string
      - name: customer_assigned_timestamp__lt
        required: false
        in: query
        description: customer_assigned_timestamp__lt
        schema:
          type: string
      - name: ended_by_timestamp__isnull
        required: false
        in: query
        description: ended_by_timestamp__isnull
        schema:
          type: string
      - name: ended_by_timestamp__gte
        required: false
        in: query
        description: ended_by_timestamp__gte
        schema:
          type: string
      - name: ended_by_timestamp__gt
        required: false
        in: query
        description: ended_by_timestamp__gt
        schema:
          type: string
      - name: ended_by_timestamp__lte
        required: false
        in: query
        description: ended_by_timestamp__lte
        schema:
          type: string
      - name: ended_by_timestamp__lt
        required: false
        in: query
        description: ended_by_timestamp__lt
        schema:
          type: string
      - name: end_timestamp__isnull
        required: false
        in: query
        description: end_timestamp__isnull
        schema:
          type: string
      - name: end_timestamp__gte
        required: false
        in: query
        description: end_timestamp__gte
        schema:
          type: string
      - name: end_timestamp__gt
        required: false
        in: query
        description: end_timestamp__gt
        schema:
          type: string
      - name: end_timestamp__lte
        required: false
        in: query
        description: end_timestamp__lte
        schema:
          type: string
      - name: end_timestamp__lt
        required: false
        in: query
        description: end_timestamp__lt
        schema:
          type: string
      - name: distributor_uuid
        required: false
        in: query
        description: distributor_uuid
        schema:
          type: string
      - name: seller_uuid__in
        required: false
        in: query
        description: 'seller_uuid list, comma separated. e.g.: 1ac841f4-7a87-11ed-b120-0242ac120002,1ae561e4-7a87-11ed-b120-0242ac120002'
        schema:
          type: string
      - name: seller_uuid
        required: false
        in: query
        description: seller_uuid
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: product_name
        required: false
        in: query
        description: product_name
        schema:
          type: string
      - name: product_code__in
        required: false
        in: query
        description: 'product_code list, comma separated. e.g.: something-B-monthly,other-thing-A-annual'
        schema:
          type: string
      - name: product_code
        required: false
        in: query
        description: product_code
        schema:
          type: string
      - name: product_is_device_subscription
        required: false
        in: query
        description: product_is_device_subscription
        schema:
          type: string
      - name: product_has_storage_size_mb
        required: false
        in: query
        description: product_has_storage_size_mb
        schema:
          type: string
      - name: product_number_of_months
        required: false
        in: query
        description: product_number_of_months
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: product_code,name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: product_code,name,number_of_months,is_device_subscription,storage_quota_mb,customer_assigned_timestamp,end_timestamp,ended_by_timestamp'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/SubscriptionForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Subscription Too Many Requests
      tags:
      - subscriptions
  /api/1/subscriptions/{subscription_key}/:
    get:
      operationId: retrieveSubscription
      description: ''
      parameters:
      - name: subscription_key
        in: path
        required: true
        description: A unique value identifying this subscription.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Subscription Unprocessable Entity
        '404':
          description: Subscription Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Subscription (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Subscription Too Many Requests
      tags:
      - subscriptions
  /api/1/subscriptions/{subscription_key}/end_billable/:
    get:
      operationId: endBillableSubscription
      description: End this subscription (Takes effect at the end of the billing period
        - see `end_timestamp` vs `ended_by_timestamp`)
      parameters:
      - name: subscription_key
        in: path
        required: true
        description: A unique value identifying this subscription.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Subscription Unprocessable Entity
        '404':
          description: Subscription Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: Subscription (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Subscription Too Many Requests
      tags:
      - subscriptions
  /api/1/customer-profiles/:
    get:
      operationId: listUserCustomerProfiles
      description: 'return paginated array of results.

        Default ordering: user,pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: address_uuid
        required: false
        in: query
        description: address_uuid
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of field: user__email'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available field: user__email'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/UserCustomerProfileForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Customer Profile Too Many Requests
      tags:
      - customer-profiles
  /api/1/customer-profiles/{user__username}/:
    get:
      operationId: retrieveUserCustomerProfile
      description: ''
      parameters:
      - name: user__username
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCustomerProfileForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Customer Profile Unprocessable Entity
        '404':
          description: User Customer Profile Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User Customer Profile (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Customer Profile Too Many Requests
      tags:
      - customer-profiles
    patch:
      operationId: partialUpdateUserCustomerProfile
      description: ''
      parameters:
      - name: user__username
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCustomerProfileForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserCustomerProfileForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserCustomerProfileForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserCustomerProfileForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Customer Profile Unprocessable Entity
        '404':
          description: User Customer Profile Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User Customer Profile (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Customer Profile Too Many Requests
      tags:
      - customer-profiles
  /api/1/users/:
    get:
      operationId: listUsers
      description: return paginated array of results.
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: username
        required: false
        in: query
        description: username
        schema:
          type: string
      - name: customer_uuid
        required: false
        in: query
        description: customer_uuid
        schema:
          type: string
      - name: address_uuid
        required: false
        in: query
        description: address_uuid
        schema:
          type: string
      - name: is_customer_admin
        required: false
        in: query
        description: is_customer_admin
        schema:
          type: string
      - name: is_customer_user_admin
        required: false
        in: query
        description: is_customer_user_admin
        schema:
          type: string
      - name: is_superuser
        required: false
        in: query
        description: is_superuser
        schema:
          type: string
      - name: is_active
        required: false
        in: query
        description: is_active
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: email,first_name,last_name'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: email,first_name,last_name,is_active,is_superuser,customer_profile__is_customer_admin'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/UserForCustomerAdmin'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - users
    post:
      operationId: createUser
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserForCustomerAdminCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserForCustomerAdminCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserForCustomerAdminCreate'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserForCustomerAdminCreate'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - users
  /api/1/users/{username}/:
    get:
      operationId: retrieveUser
      description: ''
      parameters:
      - name: username
        in: path
        required: true
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Unprocessable Entity
        '404':
          description: User Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - users
    patch:
      operationId: partialUpdateUser
      description: ''
      parameters:
      - name: username
        in: path
        required: true
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserForCustomerAdmin'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Unprocessable Entity
        '404':
          description: User Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - users
    delete:
      operationId: destroyUser
      description: ''
      parameters:
      - name: username
        in: path
        required: true
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        schema:
          type: string
      responses:
        '204':
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Unprocessable Entity
        '404':
          description: User Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - users
  /api/1/my-api-data/:
    get:
      operationId: listMyUserApiDatas
      description: 'return paginated array of results.

        Default ordering: user,key,pk'
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: api_data_uuid
        required: false
        in: query
        description: api_data_uuid
        schema:
          type: string
      - name: key
        required: false
        in: query
        description: key
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: 'Case insensitive search of fields: key,json'
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: 'Results may be ordered by available fields: key,created,modified'
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/UserApiDataForUserSelf'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data Too Many Requests
      tags:
      - my-api-data
    post:
      operationId: createMyUserApiData
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserApiDataForUserSelf'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserApiDataForUserSelf'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserApiDataForUserSelf'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserApiDataForUserSelf'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Api Data Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data Too Many Requests
      tags:
      - my-api-data
  /api/1/my-api-data/{api_data_uuid}/:
    get:
      operationId: retrieveMyUserApiData
      description: ''
      parameters:
      - name: api_data_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserApiDataForUserSelf'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Api Data Unprocessable Entity
        '404':
          description: User Api Data Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data Too Many Requests
      tags:
      - my-api-data
    patch:
      operationId: partialUpdateMyUserApiData
      description: ''
      parameters:
      - name: api_data_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserApiDataForUserSelf'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserApiDataForUserSelf'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserApiDataForUserSelf'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserApiDataForUserSelf'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Api Data Unprocessable Entity
        '404':
          description: User Api Data Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data Too Many Requests
      tags:
      - my-api-data
    delete:
      operationId: destroyMyUserApiData
      description: ''
      parameters:
      - name: api_data_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      responses:
        '204':
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Api Data Unprocessable Entity
        '404':
          description: User Api Data Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Api Data Too Many Requests
      tags:
      - my-api-data
  /api/1/my-user/:
    get:
      operationId: listMyUsers
      description: return paginated array of results.
      parameters:
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    example: 123
                  next:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=4
                  previous:
                    type: string
                    nullable: true
                    format: uri
                    example: http://api.example.org/accounts/?page=2
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/UserForUserSelf'
                  page:
                    type: integer
                    example: 123
                  page_count:
                    type: integer
                    example: 123
          description: ''
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - my-user
  /api/1/my-user/{username}/:
    get:
      operationId: retrieveMyUser
      description: ''
      parameters:
      - name: username
        in: path
        required: true
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserForUserSelf'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Unprocessable Entity
        '404':
          description: User Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - my-user
    patch:
      operationId: partialUpdateMyUser
      description: ''
      parameters:
      - name: username
        in: path
        required: true
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserForUserSelf'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserForUserSelf'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserForUserSelf'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserForUserSelf'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: User Unprocessable Entity
        '404':
          description: User Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - my-user
  /api/1/my-user/{username}/change_password/:
    get:
      operationId: changePasswordMyUserGet
      description: Attempt to change user password
      parameters:
      - name: username
        in: path
        required: true
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActionChangePasswordGet'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: changePasswordMyUserGet Unprocessable Entity
        '404':
          description: User Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - my-user
    patch:
      operationId: changePasswordMyUserPatch
      description: Attempt to change user password
      parameters:
      - name: username
        in: path
        required: true
        description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
          only.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserActionChangePassword'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UserActionChangePassword'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UserActionChangePassword'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserActionChangePassword'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: changePasswordMyUserPatch Unprocessable Entity
        '404':
          description: User Not Found
        '400':
          content:
            application/json:
              schema:
                type: object
          description: User (fields/parameters to messages) Bad Request
        '429':
          content:
            application/json:
              schema:
                type: object
          description: User Too Many Requests
      tags:
      - my-user
  /api/1/sitemaps/{sitemap_uuid}/add_device_to/:
    post:
      operationId: addDeviceToSiteMap
      description: Add the Device device_uuid to the sitemap.
      parameters:
      - name: sitemap_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteMapActionAddDevice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SiteMapActionAddDevice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SiteMapActionAddDevice'
      responses:
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: addDeviceToSiteMap Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
        '202':
          description: Add Device Accepted
        '404':
          description: SiteMap Not Found
      tags:
      - sitemaps
  /api/1/sitemaps/{sitemap_uuid}/remove_device_from/:
    post:
      operationId: removeDeviceFromSiteMap
      description: Remove Device device_uuid from the SiteMap.
      parameters:
      - name: sitemap_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteMapActionRemoveDevice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SiteMapActionRemoveDevice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SiteMapActionRemoveDevice'
      responses:
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: removeDeviceFromSiteMap Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
        '202':
          description: Remove Device Accepted
        '404':
          description: Device or Site Map Not Found
      tags:
      - sitemaps
  /api/1/sitemaps/{sitemap_uuid}/upload_img/:
    post:
      operationId: uploadImgSiteMap
      description: Accept image_map as a POST request.
      parameters:
      - name: sitemap_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteMapUploadImg'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SiteMapUploadImg'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SiteMapUploadImg'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteMapUploadImg'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Site Map Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Site Map Too Many Requests
      tags:
      - sitemaps
  /api/1/customers/{customer_uuid}/end_subscriptions/:
    post:
      operationId: endSubscriptionsCustomer
      description: End subscriptions (Takes effect at the end of the billing period
        - see `end_timestamp` vs `ended_by_timestamp`)
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionActionEndSubscriptions'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SubscriptionActionEndSubscriptions'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SubscriptionActionEndSubscriptions'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionActionEndSubscriptions'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/geocode_address_text/:
    post:
      operationId: geocodeAddressTextCustomer
      description: Converts address text to lat/lon.
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeocodeAddressText'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GeocodeAddressText'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GeocodeAddressText'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeocodeAddressText'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/customers/{customer_uuid}/geocode_location_addresses/:
    post:
      operationId: geocodeLocationAddressesCustomer
      description: Converts lat/lon to addresses
      parameters:
      - name: customer_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeocodeLocationAddresses'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GeocodeLocationAddresses'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GeocodeLocationAddresses'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeocodeLocationAddresses'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Customer Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Customer Too Many Requests
      tags:
      - customers
  /api/1/devices/{device_uuid}/deregister_device_oak/:
    post:
      operationId: deregisterDeviceOakDevice
      description: Deregister this device. Clears OAK, sets is_active=False. This
        is not a reversible operation.
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdmin'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdmin'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeviceForCustomerAdmin'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceForCustomerAdmin'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: Device Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
  /api/1/devices/{device_uuid}/set_recordings_acknowledged_true/:
    post:
      operationId: setRecordingsAcknowledgedTrueDevice
      description: 'Set Recordings for this device that have a start_time <= datetime(up_to_ts)

        to acknowledged=True and acknowledged_time=datetime(ack_ts)'
      parameters:
      - name: device_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: up_to_start_ts
        description: 'max unix timestamp of the recordings to acknowledge. Obtain
          this from the last client obtained DeviceRecording.start_time so that we
          do not acknowledge recordings that have come in later than the ones seen
          by this client.

          Note: in javascript:

          const upToStartTs = (lastSeenRecording.start_time.getTime() / 1000);'
        required: true
        schema:
          type: float
        in: query
      - name: ack_ts
        description: 'unix timestamp to set the acknowledged_time as.

          This will not set acknowledged or acknowledged_time if the ack_ts is too
          far from now, or on recordings where acknowledged_time >= ack_ts

          Note: in javascript:

          const ts = (new Date()).getTime() / 1000);'
        required: true
        schema:
          type: float
        in: query
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceActionSetRecordingAcknowledged'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeviceActionSetRecordingAcknowledged'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeviceActionSetRecordingAcknowledged'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceActionSetRecordingAcknowledged'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: setRecordingsAcknowledgedTrueDevice Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Too Many Requests
      tags:
      - devices
  /api/1/groups/{group_uuid}/add_device_to/:
    post:
      operationId: addDeviceToGroup
      description: Add the Device device_uuid to the group.
      parameters:
      - name: group_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupActionAddDevice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupActionAddDevice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GroupActionAddDevice'
      responses:
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: addDeviceToGroup Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Device Too Many Requests
        '202':
          description: Add Device Accepted
        '404':
          description: Group Not Found
      tags:
      - groups
  /api/1/groups/{group_uuid}/remove_device_from/:
    post:
      operationId: removeDeviceFromGroup
      description: Remove Device device_uuid from the Group.
      parameters:
      - name: group_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupActionRemoveDevice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GroupActionRemoveDevice'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/GroupActionRemoveDevice'
      responses:
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: removeDeviceFromGroup Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Group Device Too Many Requests
        '202':
          description: Remove Device Accepted
        '404':
          description: Device or Group Not Found
      tags:
      - groups
  /api/1/recordings/{recording_uuid}/set_acknowledged_false/:
    post:
      operationId: setAcknowledgedFalseDeviceRecording
      description: Set the `acknowledged` value to `false`
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: ts
        description: 'unix timestamp to set the acknowledged_time as.

          This will not set acknowledged or acknowledged_time if the timestamp is
          too far from now, but it will return a response with the unmodified acknowledged
          and acknowledged_time.

          Note: in javascript:

          const ts = (new Date()).getTime() / 1000);'
        required: true
        schema:
          type: float
        in: query
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: setAcknowledgedFalseDeviceRecording Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
  /api/1/recordings/{recording_uuid}/set_acknowledged_true/:
    post:
      operationId: setAcknowledgedTrueDeviceRecording
      description: Set the `acknowledged` value to `true`
      parameters:
      - name: recording_uuid
        in: path
        required: true
        description: ''
        schema:
          type: string
      - name: ts
        description: 'unix timestamp to set the acknowledged_time as.

          This will not set acknowledged or acknowledged_time if the timestamp is
          too far from now, but it will return a response with the unmodified acknowledged
          and acknowledged_time.

          Note: in javascript:

          const ts = (new Date()).getTime() / 1000);'
        required: true
        schema:
          type: float
        in: query
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceRecordingActionSetAcknowledged'
          description: ''
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrors'
          description: setAcknowledgedTrueDeviceRecording Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                type: object
          description: Device Recording Too Many Requests
      tags:
      - recordings
components:
  schemas:
    SiteMapForCustomerAdmin:
      type: object
      properties:
        sitemap_url:
          type: string
          readOnly: true
        sitemap_uuid:
          type: string
          format: uuid
          readOnly: true
        default_sitemap:
          type: boolean
          default: false
        devices:
          type: array
          items:
            type: object
            properties:
              device_url:
                type: string
                readOnly: true
              device_uuid:
                type: string
                format: uuid
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
              allowed_device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              camera_choices:
                type: array
                items:
                  type: array
                  items:
                    type: string
                readOnly: true
              camera_default:
                enum:
                - 1
                - 2
                - 3
                - 4
                - 5
                - 6
                - 7
                - 8
                - 9
                - 10
                - 11
                - 12
                - 13
                - 14
                - 15
                - 16
                - 0
                type: integer
                readOnly: true
              device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              is_active:
                type: boolean
                readOnly: true
              is_subscribed:
                type: boolean
                readOnly: true
              last_connected:
                type: string
                format: date-time
                readOnly: true
                nullable: true
              lat:
                type: number
                readOnly: true
              lon:
                type: number
                readOnly: true
              mac:
                type: string
                readOnly: true
                description: MAC Address
              name:
                type: string
                readOnly: true
              sitemap_bearing:
                type: number
                readOnly: true
                nullable: true
              sitemap_uuid:
                type: string
                format: uuid
                readOnly: true
              sitemap_x_fraction:
                type: number
                readOnly: true
                nullable: true
              sitemap_y_fraction:
                type: number
                readOnly: true
                nullable: true
              status:
                enum:
                - ok
                - offline
                type: string
                readOnly: true
              sync_device_recordings:
                type: boolean
                readOnly: true
                description: Copy to Cloud if Storage Subscribed
              username:
                type: string
                readOnly: true
                nullable: true
          readOnly: true
        image_map:
          type: string
          format: binary
          description: PATCH/POST=(application/json 'data:image/*;base64,...=' URI
            or multipart/form-data); GET applcation/json image_map_url
        image_map_x:
          type: integer
          maximum: 2147483647
          minimum: 1
          default: 1000
        image_map_y:
          type: integer
          maximum: 2147483647
          minimum: 1
          default: 1000
        name:
          type: string
          maxLength: 255
        order:
          type: integer
          maximum: 2147483647
          default: 1000
          description: Site Map Order within Address, smaller is first
          minimum: 0
        address_url:
          type: string
          readOnly: true
        address_uuid:
          type: string
          format: uuid
          readOnly: true
      required:
      - name
    ApiErrors:
      type: object
      properties:
        errors:
          type: object
          description: Mapping fields/parameters to error(s) [could be list or string]
        inputs:
          type: object
          description: Input data (only available on dev systems for some operations)
      required:
      - errors
    AddressForCustomerAdmin:
      type: object
      properties:
        address_url:
          type: string
          readOnly: true
        address_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_url:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        address:
          type: string
        default_location:
          type: boolean
          default: false
        lat:
          type: number
          maximum: 90
          minimum: -90
          default: 0
        lon:
          type: number
          maximum: 180
          minimum: -180
          default: 0
        name:
          type: string
          maxLength: 50
        devices_count:
          type: integer
          readOnly: true
        sitemaps:
          type: array
          items:
            type: object
            properties:
              sitemap_url:
                type: string
                readOnly: true
              sitemap_uuid:
                type: string
                format: uuid
                readOnly: true
              default_sitemap:
                type: boolean
              devices:
                type: array
                items:
                  type: object
                  properties:
                    device_url:
                      type: string
                      readOnly: true
                    device_uuid:
                      type: string
                      format: uuid
                      readOnly: true
                    address_uuid:
                      type: string
                      format: uuid
                      readOnly: true
                    allowed_device_type:
                      enum:
                      - single
                      - dual
                      - quad
                      - max
                      type: string
                      readOnly: true
                    camera_choices:
                      type: array
                      items:
                        type: array
                        items:
                          type: string
                      readOnly: true
                    camera_default:
                      enum:
                      - 1
                      - 2
                      - 3
                      - 4
                      - 5
                      - 6
                      - 7
                      - 8
                      - 9
                      - 10
                      - 11
                      - 12
                      - 13
                      - 14
                      - 15
                      - 16
                      - 0
                      type: integer
                      readOnly: true
                    device_type:
                      enum:
                      - single
                      - dual
                      - quad
                      - max
                      type: string
                      readOnly: true
                    is_active:
                      type: boolean
                      readOnly: true
                    is_subscribed:
                      type: boolean
                      readOnly: true
                    last_connected:
                      type: string
                      format: date-time
                      readOnly: true
                      nullable: true
                    lat:
                      type: number
                      readOnly: true
                    lon:
                      type: number
                      readOnly: true
                    mac:
                      type: string
                      readOnly: true
                      description: MAC Address
                    name:
                      type: string
                      readOnly: true
                    sitemap_bearing:
                      type: number
                      readOnly: true
                      nullable: true
                    sitemap_uuid:
                      type: string
                      format: uuid
                      readOnly: true
                    sitemap_x_fraction:
                      type: number
                      readOnly: true
                      nullable: true
                    sitemap_y_fraction:
                      type: number
                      readOnly: true
                      nullable: true
                    status:
                      enum:
                      - ok
                      - offline
                      type: string
                      readOnly: true
                    sync_device_recordings:
                      type: boolean
                      readOnly: true
                      description: Copy to Cloud if Storage Subscribed
                    username:
                      type: string
                      readOnly: true
                      nullable: true
                readOnly: true
              image_map:
                type: string
                format: binary
                description: PATCH/POST=(application/json 'data:image/*;base64,...='
                  URI or multipart/form-data); GET applcation/json image_map_url
              image_map_x:
                type: integer
                maximum: 2147483647
                minimum: 1
              image_map_y:
                type: integer
                maximum: 2147483647
                minimum: 1
              name:
                type: string
                maxLength: 255
              order:
                type: integer
                maximum: 2147483647
                description: Site Map Order within Address, smaller is first
                minimum: 0
              address_url:
                type: string
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
            required:
            - name
          readOnly: true
        sitemaps_count:
          type: string
          readOnly: true
        sitemaps_url:
          type: string
          readOnly: true
      required:
      - address
      - name
    CustomerForCustomerAdmin:
      type: object
      properties:
        customer_url:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        abn:
          type: string
          readOnly: true
        addresses:
          type: array
          items:
            type: object
            properties:
              address_url:
                type: string
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
              address:
                type: string
                readOnly: true
              default_location:
                type: boolean
                readOnly: true
              devices_count:
                type: integer
                readOnly: true
              lat:
                type: number
                readOnly: true
              lon:
                type: number
                readOnly: true
              name:
                type: string
                readOnly: true
              sitemaps_count:
                type: integer
                readOnly: true
              sitemaps_url:
                type: string
                readOnly: true
          readOnly: true
        devices_recordings_unacknowledged_url:
          type: string
          readOnly: true
        devices_recordings_url:
          type: string
          readOnly: true
        devices_url:
          type: string
          readOnly: true
        recording_fetch_description:
          type: string
          readOnly: true
        subscriptions_url:
          type: string
          readOnly: true
        contact_email:
          type: string
          format: email
          maxLength: 254
        contact_name:
          type: string
          maxLength: 100
        name:
          type: string
          maxLength: 100
        recording_fetch_start_time:
          type: string
          nullable: true
          description: 'HH:MM If Start is after Stop fetch between: Start to Midnight
            otherwise Start to Stop. If empty, fetch any time'
        recording_fetch_stop_time:
          type: string
          nullable: true
          description: 'HH:MM If Stop is before Start fetch between: Midnight to Stop
            otherwise Start to Stop. If empty, fetch any time'
        sellers:
          type: array
          items:
            type: object
            properties:
              seller_uuid:
                type: string
                format: uuid
              seller_url:
                type: string
                readOnly: true
              abn:
                type: string
                readOnly: true
              contact_email:
                type: string
                format: email
                readOnly: true
              contact_email_addr:
                type: string
                format: email
                readOnly: true
              contact_name:
                type: string
                readOnly: true
              get_seller_type_display:
                type: string
                readOnly: true
              name:
                type: string
                readOnly: true
              seller_type:
                enum:
                - reseller
                - system_integrator
                type: string
                readOnly: true
            required:
            - seller_uuid
        timezone:
          enum:
          - Etc/GMT+12
          - Etc/GMT+11
          - Pacific/Midway
          - Pacific/Niue
          - Pacific/Pago_Pago
          - Pacific/Samoa
          - US/Samoa
          - America/Adak
          - America/Atka
          - Etc/GMT+10
          - HST
          - Pacific/Honolulu
          - Pacific/Johnston
          - Pacific/Rarotonga
          - Pacific/Tahiti
          - US/Aleutian
          - US/Hawaii
          - Pacific/Marquesas
          - America/Anchorage
          - America/Juneau
          - America/Metlakatla
          - America/Nome
          - America/Sitka
          - America/Yakutat
          - Etc/GMT+9
          - Pacific/Gambier
          - US/Alaska
          - America/Ensenada
          - America/Los_Angeles
          - America/Santa_Isabel
          - America/Tijuana
          - America/Vancouver
          - Canada/Pacific
          - Etc/GMT+8
          - Mexico/BajaNorte
          - PST8PDT
          - Pacific/Pitcairn
          - US/Pacific
          - America/Boise
          - America/Cambridge_Bay
          - America/Ciudad_Juarez
          - America/Creston
          - America/Dawson
          - America/Dawson_Creek
          - America/Denver
          - America/Edmonton
          - America/Fort_Nelson
          - America/Hermosillo
          - America/Inuvik
          - America/Mazatlan
          - America/Phoenix
          - America/Shiprock
          - America/Whitehorse
          - America/Yellowknife
          - Canada/Mountain
          - Canada/Yukon
          - Etc/GMT+7
          - MST
          - MST7MDT
          - Mexico/BajaSur
          - Navajo
          - US/Arizona
          - US/Mountain
          - America/Bahia_Banderas
          - America/Belize
          - America/Chicago
          - America/Chihuahua
          - America/Costa_Rica
          - America/El_Salvador
          - America/Guatemala
          - America/Indiana/Knox
          - America/Indiana/Tell_City
          - America/Knox_IN
          - America/Managua
          - America/Matamoros
          - America/Menominee
          - America/Merida
          - America/Mexico_City
          - America/Monterrey
          - America/North_Dakota/Beulah
          - America/North_Dakota/Center
          - America/North_Dakota/New_Salem
          - America/Ojinaga
          - America/Rainy_River
          - America/Rankin_Inlet
          - America/Regina
          - America/Resolute
          - America/Swift_Current
          - America/Tegucigalpa
          - America/Winnipeg
          - CST6CDT
          - Canada/Central
          - Canada/Saskatchewan
          - Etc/GMT+6
          - Mexico/General
          - Pacific/Galapagos
          - US/Central
          - US/Indiana-Starke
          - America/Atikokan
          - America/Bogota
          - America/Cancun
          - America/Cayman
          - America/Coral_Harbour
          - America/Detroit
          - America/Eirunepe
          - America/Fort_Wayne
          - America/Grand_Turk
          - America/Guayaquil
          - America/Havana
          - America/Indiana/Indianapolis
          - America/Indiana/Marengo
          - America/Indiana/Petersburg
          - America/Indiana/Vevay
          - America/Indiana/Vincennes
          - America/Indiana/Winamac
          - America/Indianapolis
          - America/Iqaluit
          - America/Jamaica
          - America/Kentucky/Louisville
          - America/Kentucky/Monticello
          - America/Lima
          - America/Louisville
          - America/Montreal
          - America/Nassau
          - America/New_York
          - America/Nipigon
          - America/Panama
          - America/Pangnirtung
          - America/Port-au-Prince
          - America/Porto_Acre
          - America/Rio_Branco
          - America/Thunder_Bay
          - America/Toronto
          - Brazil/Acre
          - Canada/Eastern
          - Chile/EasterIsland
          - Cuba
          - EST
          - EST5EDT
          - Etc/GMT+5
          - Jamaica
          - Pacific/Easter
          - US/East-Indiana
          - US/Eastern
          - US/Michigan
          - America/Anguilla
          - America/Antigua
          - America/Aruba
          - America/Barbados
          - America/Blanc-Sablon
          - America/Boa_Vista
          - America/Campo_Grande
          - America/Caracas
          - America/Cuiaba
          - America/Curacao
          - America/Dominica
          - America/Glace_Bay
          - America/Goose_Bay
          - America/Grenada
          - America/Guadeloupe
          - America/Guyana
          - America/Halifax
          - America/Kralendijk
          - America/La_Paz
          - America/Lower_Princes
          - America/Manaus
          - America/Marigot
          - America/Martinique
          - America/Moncton
          - America/Montserrat
          - America/Port_of_Spain
          - America/Porto_Velho
          - America/Puerto_Rico
          - America/Santo_Domingo
          - America/St_Barthelemy
          - America/St_Kitts
          - America/St_Lucia
          - America/St_Thomas
          - America/St_Vincent
          - America/Thule
          - America/Tortola
          - America/Virgin
          - Atlantic/Bermuda
          - Brazil/West
          - Canada/Atlantic
          - Etc/GMT+4
          - America/St_Johns
          - Canada/Newfoundland
          - America/Araguaina
          - America/Argentina/Buenos_Aires
          - America/Argentina/Catamarca
          - America/Argentina/ComodRivadavia
          - America/Argentina/Cordoba
          - America/Argentina/Jujuy
          - America/Argentina/La_Rioja
          - America/Argentina/Mendoza
          - America/Argentina/Rio_Gallegos
          - America/Argentina/Salta
          - America/Argentina/San_Juan
          - America/Argentina/San_Luis
          - America/Argentina/Tucuman
          - America/Argentina/Ushuaia
          - America/Asuncion
          - America/Bahia
          - America/Belem
          - America/Buenos_Aires
          - America/Catamarca
          - America/Cayenne
          - America/Cordoba
          - America/Fortaleza
          - America/Jujuy
          - America/Maceio
          - America/Mendoza
          - America/Miquelon
          - America/Montevideo
          - America/Paramaribo
          - America/Punta_Arenas
          - America/Recife
          - America/Rosario
          - America/Santarem
          - America/Santiago
          - America/Sao_Paulo
          - Antarctica/Palmer
          - Antarctica/Rothera
          - Atlantic/Stanley
          - Brazil/East
          - Chile/Continental
          - Etc/GMT+3
          - America/Godthab
          - America/Noronha
          - America/Nuuk
          - Atlantic/South_Georgia
          - Brazil/DeNoronha
          - Etc/GMT+2
          - America/Scoresbysund
          - Atlantic/Azores
          - Atlantic/Cape_Verde
          - Etc/GMT+1
          - Africa/Abidjan
          - Africa/Accra
          - Africa/Bamako
          - Africa/Banjul
          - Africa/Bissau
          - Africa/Conakry
          - Africa/Dakar
          - Africa/Freetown
          - Africa/Lome
          - Africa/Monrovia
          - Africa/Nouakchott
          - Africa/Ouagadougou
          - Africa/Sao_Tome
          - Africa/Timbuktu
          - America/Danmarkshavn
          - Antarctica/Troll
          - Atlantic/Canary
          - Atlantic/Faeroe
          - Atlantic/Faroe
          - Atlantic/Madeira
          - Atlantic/Reykjavik
          - Atlantic/St_Helena
          - Eire
          - Etc/GMT
          - Etc/GMT+0
          - Etc/GMT-0
          - Etc/GMT0
          - Etc/Greenwich
          - Etc/UCT
          - Etc/UTC
          - Etc/Universal
          - Etc/Zulu
          - Europe/Belfast
          - Europe/Dublin
          - Europe/Guernsey
          - Europe/Isle_of_Man
          - Europe/Jersey
          - Europe/Lisbon
          - Europe/London
          - Factory
          - GB
          - GB-Eire
          - GMT
          - GMT+0
          - GMT-0
          - GMT0
          - Greenwich
          - Iceland
          - Portugal
          - UCT
          - UTC
          - Universal
          - WET
          - Zulu
          - localtime
          - Africa/Algiers
          - Africa/Bangui
          - Africa/Brazzaville
          - Africa/Casablanca
          - Africa/Ceuta
          - Africa/Douala
          - Africa/El_Aaiun
          - Africa/Kinshasa
          - Africa/Lagos
          - Africa/Libreville
          - Africa/Luanda
          - Africa/Malabo
          - Africa/Ndjamena
          - Africa/Niamey
          - Africa/Porto-Novo
          - Africa/Tunis
          - Arctic/Longyearbyen
          - Atlantic/Jan_Mayen
          - CET
          - Etc/GMT-1
          - Europe/Amsterdam
          - Europe/Andorra
          - Europe/Belgrade
          - Europe/Berlin
          - Europe/Bratislava
          - Europe/Brussels
          - Europe/Budapest
          - Europe/Busingen
          - Europe/Copenhagen
          - Europe/Gibraltar
          - Europe/Ljubljana
          - Europe/Luxembourg
          - Europe/Madrid
          - Europe/Malta
          - Europe/Monaco
          - Europe/Oslo
          - Europe/Paris
          - Europe/Podgorica
          - Europe/Prague
          - Europe/Rome
          - Europe/San_Marino
          - Europe/Sarajevo
          - Europe/Skopje
          - Europe/Stockholm
          - Europe/Tirane
          - Europe/Vaduz
          - Europe/Vatican
          - Europe/Vienna
          - Europe/Warsaw
          - Europe/Zagreb
          - Europe/Zurich
          - MET
          - Poland
          - Africa/Blantyre
          - Africa/Bujumbura
          - Africa/Cairo
          - Africa/Gaborone
          - Africa/Harare
          - Africa/Johannesburg
          - Africa/Juba
          - Africa/Khartoum
          - Africa/Kigali
          - Africa/Lubumbashi
          - Africa/Lusaka
          - Africa/Maputo
          - Africa/Maseru
          - Africa/Mbabane
          - Africa/Tripoli
          - Africa/Windhoek
          - Asia/Beirut
          - Asia/Famagusta
          - Asia/Gaza
          - Asia/Hebron
          - Asia/Jerusalem
          - Asia/Nicosia
          - Asia/Tel_Aviv
          - EET
          - Egypt
          - Etc/GMT-2
          - Europe/Athens
          - Europe/Bucharest
          - Europe/Chisinau
          - Europe/Helsinki
          - Europe/Kaliningrad
          - Europe/Kiev
          - Europe/Kyiv
          - Europe/Mariehamn
          - Europe/Nicosia
          - Europe/Riga
          - Europe/Sofia
          - Europe/Tallinn
          - Europe/Tiraspol
          - Europe/Uzhgorod
          - Europe/Vilnius
          - Europe/Zaporozhye
          - Israel
          - Libya
          - Africa/Addis_Ababa
          - Africa/Asmara
          - Africa/Asmera
          - Africa/Dar_es_Salaam
          - Africa/Djibouti
          - Africa/Kampala
          - Africa/Mogadishu
          - Africa/Nairobi
          - Antarctica/Syowa
          - Asia/Aden
          - Asia/Amman
          - Asia/Baghdad
          - Asia/Bahrain
          - Asia/Damascus
          - Asia/Istanbul
          - Asia/Kuwait
          - Asia/Qatar
          - Asia/Riyadh
          - Etc/GMT-3
          - Europe/Istanbul
          - Europe/Kirov
          - Europe/Minsk
          - Europe/Moscow
          - Europe/Simferopol
          - Europe/Volgograd
          - Indian/Antananarivo
          - Indian/Comoro
          - Indian/Mayotte
          - Turkey
          - W-SU
          - Asia/Tehran
          - Iran
          - Asia/Baku
          - Asia/Dubai
          - Asia/Muscat
          - Asia/Tbilisi
          - Asia/Yerevan
          - Etc/GMT-4
          - Europe/Astrakhan
          - Europe/Samara
          - Europe/Saratov
          - Europe/Ulyanovsk
          - Indian/Mahe
          - Indian/Mauritius
          - Indian/Reunion
          - Asia/Kabul
          - Antarctica/Mawson
          - Asia/Aqtau
          - Asia/Aqtobe
          - Asia/Ashgabat
          - Asia/Ashkhabad
          - Asia/Atyrau
          - Asia/Dushanbe
          - Asia/Karachi
          - Asia/Oral
          - Asia/Qyzylorda
          - Asia/Samarkand
          - Asia/Tashkent
          - Asia/Yekaterinburg
          - Etc/GMT-5
          - Indian/Kerguelen
          - Indian/Maldives
          - Asia/Calcutta
          - Asia/Colombo
          - Asia/Kolkata
          - Asia/Kathmandu
          - Asia/Katmandu
          - Antarctica/Vostok
          - Asia/Almaty
          - Asia/Bishkek
          - Asia/Dacca
          - Asia/Dhaka
          - Asia/Kashgar
          - Asia/Omsk
          - Asia/Qostanay
          - Asia/Thimbu
          - Asia/Thimphu
          - Asia/Urumqi
          - Etc/GMT-6
          - Indian/Chagos
          - Asia/Rangoon
          - Asia/Yangon
          - Indian/Cocos
          - Antarctica/Davis
          - Asia/Bangkok
          - Asia/Barnaul
          - Asia/Ho_Chi_Minh
          - Asia/Hovd
          - Asia/Jakarta
          - Asia/Krasnoyarsk
          - Asia/Novokuznetsk
          - Asia/Novosibirsk
          - Asia/Phnom_Penh
          - Asia/Pontianak
          - Asia/Saigon
          - Asia/Tomsk
          - Asia/Vientiane
          - Etc/GMT-7
          - Indian/Christmas
          - Asia/Brunei
          - Asia/Choibalsan
          - Asia/Chongqing
          - Asia/Chungking
          - Asia/Harbin
          - Asia/Hong_Kong
          - Asia/Irkutsk
          - Asia/Kuala_Lumpur
          - Asia/Kuching
          - Asia/Macao
          - Asia/Macau
          - Asia/Makassar
          - Asia/Manila
          - Asia/Shanghai
          - Asia/Singapore
          - Asia/Taipei
          - Asia/Ujung_Pandang
          - Asia/Ulaanbaatar
          - Asia/Ulan_Bator
          - Australia/Perth
          - Australia/West
          - Etc/GMT-8
          - Hongkong
          - PRC
          - ROC
          - Singapore
          - Australia/Eucla
          - Asia/Chita
          - Asia/Dili
          - Asia/Jayapura
          - Asia/Khandyga
          - Asia/Pyongyang
          - Asia/Seoul
          - Asia/Tokyo
          - Asia/Yakutsk
          - Etc/GMT-9
          - Japan
          - Pacific/Palau
          - ROK
          - Australia/Darwin
          - Australia/North
          - Antarctica/DumontDUrville
          - Asia/Ust-Nera
          - Asia/Vladivostok
          - Australia/Brisbane
          - Australia/Lindeman
          - Australia/Queensland
          - Etc/GMT-10
          - Pacific/Chuuk
          - Pacific/Guam
          - Pacific/Port_Moresby
          - Pacific/Saipan
          - Pacific/Truk
          - Pacific/Yap
          - Australia/Adelaide
          - Australia/Broken_Hill
          - Australia/South
          - Australia/Yancowinna
          - Antarctica/Casey
          - Antarctica/Macquarie
          - Asia/Magadan
          - Asia/Sakhalin
          - Asia/Srednekolymsk
          - Australia/ACT
          - Australia/Canberra
          - Australia/Currie
          - Australia/Hobart
          - Australia/LHI
          - Australia/Lord_Howe
          - Australia/Melbourne
          - Australia/NSW
          - Australia/Sydney
          - Australia/Tasmania
          - Australia/Victoria
          - Etc/GMT-11
          - Pacific/Bougainville
          - Pacific/Efate
          - Pacific/Guadalcanal
          - Pacific/Kosrae
          - Pacific/Noumea
          - Pacific/Pohnpei
          - Pacific/Ponape
          - Asia/Anadyr
          - Asia/Kamchatka
          - Etc/GMT-12
          - Kwajalein
          - Pacific/Fiji
          - Pacific/Funafuti
          - Pacific/Kwajalein
          - Pacific/Majuro
          - Pacific/Nauru
          - Pacific/Norfolk
          - Pacific/Tarawa
          - Pacific/Wake
          - Pacific/Wallis
          - Antarctica/McMurdo
          - Antarctica/South_Pole
          - Etc/GMT-13
          - NZ
          - Pacific/Apia
          - Pacific/Auckland
          - Pacific/Enderbury
          - Pacific/Fakaofo
          - Pacific/Kanton
          - Pacific/Tongatapu
          - NZ-CHAT
          - Pacific/Chatham
          - Etc/GMT-14
          - Pacific/Kiritimati
          type: string
          default: Australia/Melbourne
      required:
      - contact_email
      - name
      - sellers
      - timezone
    CustomerActionAvailableReportSubscriptions:
      type: object
      properties:
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        available_reports:
          type: array
          items:
            type: object
            properties:
              year:
                type: integer
              month:
                type: integer
              filename:
                type: string
            required:
            - year
            - month
            - filename
          readOnly: true
        subscriptions_count:
          type: integer
          readOnly: true
    MultipleSummaryReports:
      type: object
      properties:
        summary_reports:
          type: array
          items:
            type: object
            properties:
              report_url:
                type: string
                format: uri
                description: Report URL
                pattern: "^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\\
                  .(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\\
                  ]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1-\uFFFF\
                  0-9])?(?:\\.(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z\xA1\
                  -\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\\
                  s]*)?\\z"
              as_at_datetime:
                type: string
                format: date-time
                description: Generated at
              description:
                type: string
                description: Description
              metadata:
                type: object
                description: Extra metadata - information may be different for each
                  report
              header_rows:
                type: array
                items:
                  type: integer
                description: row numbers (1 is first) of rows which are headers
              header_columns:
                type: array
                items:
                  type: integer
                description: column numbers (1 is first) of columns which are headers
              rows:
                type: array
                items:
                  type: array
                  items:
                    type: string
                description: Array of Report Rows (each Row is an Array of Column
                  text)
            required:
            - report_url
            - as_at_datetime
            - description
            - metadata
            - header_rows
            - header_columns
            - rows
      required:
      - summary_reports
    SummaryReport:
      type: object
      properties:
        report_url:
          type: string
          format: uri
          description: Report URL
          pattern: "^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\\
            .(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\\
            ]|([a-z\xA1-\uFFFF0-9](?:[a-z\xA1-\uFFFF0-9-]{0,61}[a-z\xA1-\uFFFF0-9])?(?:\\\
            .(?!-)[a-z\xA1-\uFFFF0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z\xA1-\uFFFF-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\\
            .?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z"
        as_at_datetime:
          type: string
          format: date-time
          description: Generated at
        description:
          type: string
          description: Description
        metadata:
          type: object
          description: Extra metadata - information may be different for each report
        header_rows:
          type: array
          items:
            type: integer
          description: row numbers (1 is first) of rows which are headers
        header_columns:
          type: array
          items:
            type: integer
          description: column numbers (1 is first) of columns which are headers
        rows:
          type: array
          items:
            type: array
            items:
              type: string
          description: Array of Report Rows (each Row is an Array of Column text)
      required:
      - report_url
      - as_at_datetime
      - description
      - metadata
      - header_rows
      - header_columns
      - rows
    DeviceForCustomerAdmin:
      type: object
      properties:
        device_url:
          type: string
          readOnly: true
        device_uuid:
          type: string
          format: uuid
          readOnly: true
        camera_default:
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
          - 10
          - 11
          - 12
          - 13
          - 14
          - 15
          - 16
          - 0
          type: integer
          default: 1
          minimum: 0
          maximum: 16
        device_type:
          enum:
          - single
          - dual
          - quad
          - max
          type: string
          default: single
        group_devices:
          type: array
          items:
            type: object
            properties:
              group_device_url:
                type: string
                readOnly: true
              group_device_uuid:
                type: string
                format: uuid
                readOnly: true
              device_url:
                type: string
                readOnly: true
              device_uuid:
                type: string
                format: uuid
                readOnly: true
              group_url:
                type: string
                readOnly: true
              group_uuid:
                type: string
                format: uuid
                readOnly: true
              order:
                type: integer
                maximum: 2147483647
                description: Device Order within Group, smaller is first
                minimum: 0
        is_active:
          type: boolean
          default: true
        lat:
          type: number
          maximum: 90
          minimum: -90
          default: 0
          nullable: true
          description: latitude
        lon:
          type: number
          maximum: 180
          minimum: -180
          default: 0
          nullable: true
          description: longitude
        name:
          type: string
          maxLength: 255
        password:
          type: string
          nullable: true
          maxLength: 255
        sitemap_bearing:
          type: number
          default: 45.0
          description: bearing
        sitemap_uuid:
          type: string
          format: uuid
          nullable: true
        sitemap_x_fraction:
          type: number
          maximum: 1.0
          default: 0.5
          description: x fraction
          minimum: 0.0
        sitemap_y_fraction:
          type: number
          maximum: 1.0
          default: 0.5
          description: y fraction
          minimum: 0.0
        sync_device_recordings:
          type: boolean
          default: true
          description: Copy to Cloud if Storage Subscribed
        username:
          type: string
          nullable: true
          maxLength: 255
        address_name:
          type: string
          readOnly: true
        address_uuid:
          type: string
          format: uuid
          readOnly: true
        allowed_device_type:
          enum:
          - single
          - dual
          - quad
          - max
          type: string
          readOnly: true
        camera_choices:
          type: array
          items:
            type: array
            items:
              type: string
          readOnly: true
        card_bs_color:
          type: string
          readOnly: true
        card_bs_extra:
          type: string
          readOnly: true
        card_bs_icon:
          type: string
          readOnly: true
        customer_url:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        device_bootstrap_class:
          type: string
          readOnly: true
        device_bootstrap_icon:
          type: string
          readOnly: true
        device_connection_error:
          type: string
          readOnly: true
        device_description:
          type: string
          readOnly: true
        groups:
          type: array
          items:
            type: object
            properties:
              group_url:
                type: string
                readOnly: true
              group_uuid:
                type: string
                format: uuid
                readOnly: true
              name:
                type: string
                readOnly: true
              order:
                type: integer
                readOnly: true
                description: Group Order within Customer, smaller is first
              per_page:
                enum:
                - 2
                - 4
                - 6
                - 8
                type: integer
                readOnly: true
                description: How many Devices to Display on Live Group View
          readOnly: true
        is_subscribed:
          type: boolean
          readOnly: true
        last_connected:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        mac:
          type: string
          readOnly: true
          description: MAC Address
        oak:
          type: string
          readOnly: true
          description: Owner Authentication Key
        recordings_unacknowledged_url:
          type: string
          readOnly: true
        recordings_url:
          type: string
          readOnly: true
        sitemap:
          type: object
          properties:
            sitemap_url:
              type: string
              readOnly: true
            sitemap_uuid:
              type: string
              format: uuid
              readOnly: true
            address_uuid:
              type: string
              format: uuid
              readOnly: true
            default_sitemap:
              type: boolean
              readOnly: true
            devices_count:
              type: integer
              readOnly: true
            devices_url:
              type: string
              readOnly: true
            image_map:
              type: string
              format: binary
              readOnly: true
              nullable: true
            image_map_x:
              type: integer
              readOnly: true
            image_map_y:
              type: integer
              readOnly: true
            name:
              type: string
              readOnly: true
            order:
              type: integer
              readOnly: true
              description: Site Map Order within Address, smaller is first
          readOnly: true
        status:
          enum:
          - ok
          - offline
          type: string
          readOnly: true
        subscription_bootstrap_class:
          type: string
          readOnly: true
        subscription_bootstrap_icon:
          type: string
          readOnly: true
        subscription_description:
          type: string
          readOnly: true
        sync_recordings_last_start:
          type: string
          format: date-time
          readOnly: true
      required:
      - name
      - password
      - username
    GroupForCustomerAdmin:
      type: object
      properties:
        group_url:
          type: string
          readOnly: true
        group_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_url:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        devices:
          type: array
          items:
            type: object
            properties:
              device_url:
                type: string
                readOnly: true
              device_uuid:
                type: string
                format: uuid
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
              allowed_device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              camera_choices:
                type: array
                items:
                  type: array
                  items:
                    type: string
                readOnly: true
              camera_default:
                enum:
                - 1
                - 2
                - 3
                - 4
                - 5
                - 6
                - 7
                - 8
                - 9
                - 10
                - 11
                - 12
                - 13
                - 14
                - 15
                - 16
                - 0
                type: integer
                readOnly: true
              device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              is_active:
                type: boolean
                readOnly: true
              is_subscribed:
                type: boolean
                readOnly: true
              last_connected:
                type: string
                format: date-time
                readOnly: true
                nullable: true
              lat:
                type: number
                readOnly: true
              lon:
                type: number
                readOnly: true
              mac:
                type: string
                readOnly: true
                description: MAC Address
              name:
                type: string
                readOnly: true
              sitemap_bearing:
                type: number
                readOnly: true
                nullable: true
              sitemap_uuid:
                type: string
                format: uuid
                readOnly: true
              sitemap_x_fraction:
                type: number
                readOnly: true
                nullable: true
              sitemap_y_fraction:
                type: number
                readOnly: true
                nullable: true
              status:
                enum:
                - ok
                - offline
                type: string
                readOnly: true
              sync_device_recordings:
                type: boolean
                readOnly: true
                description: Copy to Cloud if Storage Subscribed
              username:
                type: string
                readOnly: true
                nullable: true
          readOnly: true
        group_devices:
          type: array
          items:
            type: object
            properties:
              group_device_url:
                type: string
                readOnly: true
              group_device_uuid:
                type: string
                format: uuid
                readOnly: true
              device_url:
                type: string
                readOnly: true
              device_uuid:
                type: string
                format: uuid
                readOnly: true
              group_url:
                type: string
                readOnly: true
              group_uuid:
                type: string
                format: uuid
                readOnly: true
              order:
                type: integer
                maximum: 2147483647
                default: 1000
                description: Device Order within Group, smaller is first
                minimum: 0
        name:
          type: string
          maxLength: 50
        order:
          type: integer
          maximum: 2147483647
          default: 1000
          description: Group Order within Customer, smaller is first
          minimum: 0
        per_page:
          enum:
          - 2
          - 4
          - 6
          - 8
          type: integer
          default: 4
          description: How many Devices to Display on Live Group View
          minimum: -2147483648
          maximum: 2147483647
      required:
      - name
    GroupDeviceForCustomerAdmin:
      type: object
      properties:
        group_device_url:
          type: string
          readOnly: true
        group_device_uuid:
          type: string
          format: uuid
          readOnly: true
        device_url:
          type: string
          readOnly: true
        device_uuid:
          type: string
          format: uuid
          readOnly: true
        group_url:
          type: string
          readOnly: true
        group_uuid:
          type: string
          format: uuid
          readOnly: true
        order:
          type: integer
          maximum: 2147483647
          default: 1000
          description: Device Order within Group, smaller is first
          minimum: 0
    ProductForView:
      type: object
      properties:
        customer_assigned_subscriptions_count:
          type: integer
          readOnly: true
        customer_unassigned_subscriptions_count:
          type: integer
          readOnly: true
        device_type:
          type: string
          readOnly: true
          nullable: true
        ended_subscriptions_count:
          type: integer
          readOnly: true
        is_device_subscription:
          type: boolean
          readOnly: true
        name:
          type: string
          readOnly: true
        number_of_months:
          type: integer
          readOnly: true
        product_code:
          type: string
          readOnly: true
          pattern: ^[-a-zA-Z0-9_]+$
        product_customer_max:
          type: integer
          readOnly: true
          nullable: true
        seller_assigned_subscriptions_count:
          type: integer
          readOnly: true
        seller_unassigned_subscriptions_count:
          type: integer
          readOnly: true
        storage_quota_mb:
          type: integer
          readOnly: true
        subscriptions_count:
          type: integer
          readOnly: true
          description: Subscriptions
        subscriptions_url:
          type: string
          readOnly: true
        trial_months:
          type: integer
          readOnly: true
    DeviceRecordingForCustomerAdmin:
      type: object
      properties:
        recording_url:
          type: string
          readOnly: true
        recording_uuid:
          type: string
          format: uuid
          readOnly: true
        acknowledged:
          type: boolean
          readOnly: true
        acknowledged_time:
          type: string
          format: date-time
          readOnly: true
        audio_bit_rate:
          type: integer
          readOnly: true
          nullable: true
        audio_sample_rate:
          type: integer
          readOnly: true
          nullable: true
        disk_id:
          type: string
          readOnly: true
        event_id:
          type: string
          readOnly: true
        event_trigger:
          type: string
          readOnly: true
        export_property_estimated_size_bytes:
          type: integer
          readOnly: true
          nullable: true
          description: Estimated Size on Device
        export_property_fail_count:
          type: integer
          readOnly: true
        locked:
          type: string
          readOnly: true
        recording_bootstrap_class:
          type: string
          readOnly: true
        recording_bootstrap_icon:
          type: string
          readOnly: true
        recording_description:
          type: string
          readOnly: true
        recording_id:
          type: string
          readOnly: true
        recording_status:
          type: string
          readOnly: true
        recording_type:
          type: string
          readOnly: true
        s3_export_file:
          type: string
          format: binary
          readOnly: true
          nullable: true
        snapshot_bootstrap_class:
          type: string
          readOnly: true
        snapshot_bootstrap_icon:
          type: string
          readOnly: true
        snapshot_description:
          type: string
          readOnly: true
        snapshot_file_exists:
          type: boolean
          readOnly: true
        source:
          type: string
          readOnly: true
        start_time:
          type: string
          format: date-time
          readOnly: true
        stop_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        storage_recording_can_be_fetched:
          type: boolean
          readOnly: true
        storage_recording_cannot_be_fetched_reason:
          type: string
          readOnly: true
        storage_recording_convert_duration:
          type: string
          readOnly: true
          nullable: true
        storage_recording_fail_count:
          type: integer
          readOnly: true
        storage_recording_fail_reason:
          type: string
          readOnly: true
          nullable: true
        storage_recording_fetch_bytes:
          type: integer
          readOnly: true
          nullable: true
        storage_recording_fetch_duration:
          type: string
          readOnly: true
          nullable: true
        storage_recording_fetch_filename:
          type: string
          readOnly: true
          nullable: true
        storage_recording_file_exists:
          type: boolean
          readOnly: true
        storage_recording_ignore_reason:
          type: string
          readOnly: true
          nullable: true
        storage_recording_s3_upload_duration:
          type: string
          readOnly: true
          nullable: true
        storage_recording_size_bytes:
          type: integer
          readOnly: true
          nullable: true
        video_frame_rate:
          type: string
          readOnly: true
        video_height:
          type: integer
          readOnly: true
        video_width:
          type: integer
          readOnly: true
        device:
          type: object
          properties:
            device_url:
              type: string
              readOnly: true
            device_uuid:
              type: string
              format: uuid
              readOnly: true
            camera_default:
              enum:
              - 1
              - 2
              - 3
              - 4
              - 5
              - 6
              - 7
              - 8
              - 9
              - 10
              - 11
              - 12
              - 13
              - 14
              - 15
              - 16
              - 0
              type: integer
              minimum: 0
              maximum: 16
            device_type:
              enum:
              - single
              - dual
              - quad
              - max
              type: string
            group_devices:
              type: array
              items:
                type: object
                properties:
                  group_device_url:
                    type: string
                    readOnly: true
                  group_device_uuid:
                    type: string
                    format: uuid
                    readOnly: true
                  device_url:
                    type: string
                    readOnly: true
                  device_uuid:
                    type: string
                    format: uuid
                    readOnly: true
                  group_url:
                    type: string
                    readOnly: true
                  group_uuid:
                    type: string
                    format: uuid
                    readOnly: true
                  order:
                    type: integer
                    maximum: 2147483647
                    description: Device Order within Group, smaller is first
                    minimum: 0
            is_active:
              type: boolean
            lat:
              type: number
              maximum: 90
              minimum: -90
              nullable: true
              description: latitude
            lon:
              type: number
              maximum: 180
              minimum: -180
              nullable: true
              description: longitude
            name:
              type: string
              maxLength: 255
            password:
              type: string
              nullable: true
              maxLength: 255
            sitemap_bearing:
              type: number
              description: bearing
            sitemap_uuid:
              type: string
              format: uuid
              nullable: true
            sitemap_x_fraction:
              type: number
              maximum: 1.0
              description: x fraction
              minimum: 0.0
            sitemap_y_fraction:
              type: number
              maximum: 1.0
              description: y fraction
              minimum: 0.0
            sync_device_recordings:
              type: boolean
              description: Copy to Cloud if Storage Subscribed
            username:
              type: string
              nullable: true
              maxLength: 255
            address_name:
              type: string
              readOnly: true
            address_uuid:
              type: string
              format: uuid
              readOnly: true
            allowed_device_type:
              enum:
              - single
              - dual
              - quad
              - max
              type: string
              readOnly: true
            camera_choices:
              type: array
              items:
                type: array
                items:
                  type: string
              readOnly: true
            card_bs_color:
              type: string
              readOnly: true
            card_bs_extra:
              type: string
              readOnly: true
            card_bs_icon:
              type: string
              readOnly: true
            customer_url:
              type: string
              readOnly: true
            customer_uuid:
              type: string
              readOnly: true
            device_bootstrap_class:
              type: string
              readOnly: true
            device_bootstrap_icon:
              type: string
              readOnly: true
            device_connection_error:
              type: string
              readOnly: true
            device_description:
              type: string
              readOnly: true
            groups:
              type: array
              items:
                type: object
                properties:
                  group_url:
                    type: string
                    readOnly: true
                  group_uuid:
                    type: string
                    format: uuid
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  order:
                    type: integer
                    readOnly: true
                    description: Group Order within Customer, smaller is first
                  per_page:
                    enum:
                    - 2
                    - 4
                    - 6
                    - 8
                    type: integer
                    readOnly: true
                    description: How many Devices to Display on Live Group View
              readOnly: true
            is_subscribed:
              type: boolean
              readOnly: true
            last_connected:
              type: string
              format: date-time
              readOnly: true
              nullable: true
            mac:
              type: string
              readOnly: true
              description: MAC Address
            oak:
              type: string
              readOnly: true
              description: Owner Authentication Key
            recordings_unacknowledged_url:
              type: string
              readOnly: true
            recordings_url:
              type: string
              readOnly: true
            sitemap:
              type: object
              properties:
                sitemap_url:
                  type: string
                  readOnly: true
                sitemap_uuid:
                  type: string
                  format: uuid
                  readOnly: true
                address_uuid:
                  type: string
                  format: uuid
                  readOnly: true
                default_sitemap:
                  type: boolean
                  readOnly: true
                devices_count:
                  type: integer
                  readOnly: true
                devices_url:
                  type: string
                  readOnly: true
                image_map:
                  type: string
                  format: binary
                  readOnly: true
                  nullable: true
                image_map_x:
                  type: integer
                  readOnly: true
                image_map_y:
                  type: integer
                  readOnly: true
                name:
                  type: string
                  readOnly: true
                order:
                  type: integer
                  readOnly: true
                  description: Site Map Order within Address, smaller is first
              readOnly: true
            status:
              enum:
              - ok
              - offline
              type: string
              readOnly: true
            subscription_bootstrap_class:
              type: string
              readOnly: true
            subscription_bootstrap_icon:
              type: string
              readOnly: true
            subscription_description:
              type: string
              readOnly: true
            sync_recordings_last_start:
              type: string
              format: date-time
              readOnly: true
          required:
          - name
          - password
          - username
          readOnly: true
    DeviceRecordingActionFetch:
      type: object
      properties:
        recording_uuid:
          type: string
          format: uuid
          readOnly: true
        cannot_be_fetched_reason:
          type: string
          readOnly: true
        fetch_start_time:
          type: string
          format: date-time
          readOnly: true
          description: Datetime Fetch Started
        fetch_status:
          enum:
          - fetching
          - done
          - cannot
          - fetch
          type: string
          readOnly: true
        fetch_title:
          type: string
          readOnly: true
          description: Title for fetch status
        recording_file_name:
          type: string
          readOnly: true
    DeviceRecordingForTimeline:
      type: object
      properties:
        recording_uuid:
          type: string
          format: uuid
          readOnly: true
        acknowledged:
          type: boolean
          readOnly: true
        acknowledged_time:
          type: string
          format: date-time
          readOnly: true
        event_id:
          type: string
          readOnly: true
        event_trigger:
          type: string
          readOnly: true
        export_property_estimated_size_bytes:
          type: integer
          readOnly: true
          nullable: true
          description: Estimated Size on Device
        recording_bootstrap_icon:
          type: string
          readOnly: true
        recording_description:
          type: string
          readOnly: true
        recording_status:
          type: string
          readOnly: true
        recording_type:
          type: string
          readOnly: true
        snapshot_bootstrap_icon:
          type: string
          readOnly: true
        snapshot_description:
          type: string
          readOnly: true
        snapshot_file_exists:
          type: boolean
          readOnly: true
        source:
          type: string
          readOnly: true
        start_time:
          type: string
          format: date-time
          readOnly: true
        stop_time:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        storage_recording_can_be_fetched:
          type: boolean
          readOnly: true
        storage_recording_cannot_be_fetched_reason:
          type: string
          readOnly: true
        storage_recording_file_exists:
          type: boolean
          readOnly: true
        storage_recording_ignore_reason:
          type: string
          readOnly: true
          nullable: true
        storage_recording_size_bytes:
          type: integer
          readOnly: true
          nullable: true
        device_uuid:
          type: string
          format: uuid
          readOnly: true
          description: Device device_uuid
    DeviceRecordingSummaryForTimeline:
      type: object
      properties:
        summary_start:
          type: string
          format: date-time
          readOnly: true
          description: Summary Start Date time
        summary_end:
          type: string
          format: date-time
          readOnly: true
          description: Summary End Date time
        duration:
          type: string
          readOnly: true
          description: Block Duration
        block_count:
          type: integer
          readOnly: true
          description: Count of Blocks
        recordings_count:
          type: integer
          readOnly: true
          description: Sum of Count of Recordings in all Blocks
        device_uuids:
          type: array
          items:
            type: string
            format: uuid
          readOnly: true
          description: List of Device UUIDs
        blocks:
          type: array
          items:
            type: object
            properties:
              block_start:
                type: string
                format: date-time
                readOnly: true
                description: Summary Block start datetime
              block_end:
                type: string
                format: date-time
                readOnly: true
                description: Summary Block end datetime
              recordings_count:
                type: integer
                readOnly: true
                description: Summary Block Count of Recordings
              recordings_file_exists_count:
                type: integer
                readOnly: true
                description: Summary Block Count of Recordings with files in Block
          readOnly: true
          description: Blocks
    SellerForAdmin:
      type: object
      properties:
        seller_url:
          type: string
          readOnly: true
        seller_uuid:
          type: string
          format: uuid
          default: UUID1()
        abn:
          type: string
          readOnly: true
        contact_email:
          type: string
          format: email
          readOnly: true
        contact_email_addr:
          type: string
          format: email
          readOnly: true
        contact_name:
          type: string
          readOnly: true
        get_seller_type_display:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        seller_type:
          enum:
          - reseller
          - system_integrator
          type: string
          readOnly: true
      required:
      - seller_uuid
    SubscriptionForCustomerAdmin:
      type: object
      properties:
        subscription_url:
          type: string
          readOnly: true
        subscription_key:
          type: string
          readOnly: true
        customer_assigned_timestamp:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        end_timestamp:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        ended_by_timestamp:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        product:
          type: object
          properties:
            device_type:
              type: string
              readOnly: true
              nullable: true
            is_device_subscription:
              type: boolean
              readOnly: true
            name:
              type: string
              readOnly: true
            number_of_months:
              type: integer
              readOnly: true
            product_code:
              type: string
              readOnly: true
              pattern: ^[-a-zA-Z0-9_]+$
            product_customer_max:
              type: integer
              readOnly: true
              nullable: true
            storage_quota_mb:
              type: integer
              readOnly: true
            trial_months:
              type: integer
              readOnly: true
          readOnly: true
        seller_uuid:
          type: string
          format: uuid
          readOnly: true
    UserCustomerProfileForCustomerAdmin:
      type: object
      properties:
        customer_profile_url:
          type: string
          readOnly: true
        username:
          type: string
          readOnly: true
        addresses:
          type: array
          items:
            type: object
            properties:
              address_uuid:
                type: string
                format: uuid
              address_url:
                type: string
                readOnly: true
              address:
                type: string
                readOnly: true
              default_location:
                type: boolean
                readOnly: true
              lat:
                type: number
                readOnly: true
              lon:
                type: number
                readOnly: true
              name:
                type: string
                readOnly: true
              sitemaps_url:
                type: string
                readOnly: true
            required:
            - address_uuid
        role:
          enum:
          - enterprise_admin
          - enterprise_super_user
          - enterprise_user
          - multi_site_admin
          - multi_site_super_user
          - multi_site_user
          - single_site_admin
          - single_site_super_user
          - single_site_user
          type: string
          default: enterprise_user
        customer_url:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        is_customer_admin:
          type: boolean
          readOnly: true
        is_customer_user_admin:
          type: boolean
          readOnly: true
        role_addresses:
          type: array
          items:
            type: object
            properties:
              address_url:
                type: string
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
              address:
                type: string
                readOnly: true
              default_location:
                type: boolean
                readOnly: true
              devices_count:
                type: integer
                readOnly: true
              lat:
                type: number
                readOnly: true
              lon:
                type: number
                readOnly: true
              name:
                type: string
                readOnly: true
              sitemaps_count:
                type: integer
                readOnly: true
              sitemaps_url:
                type: string
                readOnly: true
          readOnly: true
        role_priority:
          type: integer
          readOnly: true
        user_url:
          type: string
          readOnly: true
    UserForCustomerAdmin:
      type: object
      properties:
        user_url:
          type: string
          readOnly: true
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        customer_profile:
          type: object
          properties:
            customer_profile_url:
              type: string
              readOnly: true
            username:
              type: string
              readOnly: true
            addresses:
              type: array
              items:
                type: object
                properties:
                  address_uuid:
                    type: string
                    format: uuid
                  address_url:
                    type: string
                    readOnly: true
                  address:
                    type: string
                    readOnly: true
                  default_location:
                    type: boolean
                    readOnly: true
                  lat:
                    type: number
                    readOnly: true
                  lon:
                    type: number
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  sitemaps_url:
                    type: string
                    readOnly: true
                required:
                - address_uuid
            role:
              enum:
              - enterprise_admin
              - enterprise_super_user
              - enterprise_user
              - multi_site_admin
              - multi_site_super_user
              - multi_site_user
              - single_site_admin
              - single_site_super_user
              - single_site_user
              type: string
            customer_url:
              type: string
              readOnly: true
            customer_uuid:
              type: string
              readOnly: true
            is_customer_admin:
              type: boolean
              readOnly: true
            is_customer_user_admin:
              type: boolean
              readOnly: true
            role_addresses:
              type: array
              items:
                type: object
                properties:
                  address_url:
                    type: string
                    readOnly: true
                  address_uuid:
                    type: string
                    format: uuid
                    readOnly: true
                  address:
                    type: string
                    readOnly: true
                  default_location:
                    type: boolean
                    readOnly: true
                  devices_count:
                    type: integer
                    readOnly: true
                  lat:
                    type: number
                    readOnly: true
                  lon:
                    type: number
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  sitemaps_count:
                    type: integer
                    readOnly: true
                  sitemaps_url:
                    type: string
                    readOnly: true
              readOnly: true
            role_priority:
              type: integer
              readOnly: true
            user_url:
              type: string
              readOnly: true
        customer_uuid:
          type: string
          readOnly: true
        is_superuser:
          type: boolean
          readOnly: true
          description: Designates that this user has all permissions without explicitly
            assigning them.
        last_login:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        email:
          type: string
          format: email
          maxLength: 254
          minLength: 3
        first_name:
          type: string
          maxLength: 150
          minLength: 1
        is_active:
          type: boolean
          default: true
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        last_name:
          type: string
          maxLength: 150
          minLength: 1
      required:
      - customer_profile
      - email
      - first_name
      - last_name
    UserApiDataForUserSelf:
      type: object
      properties:
        my_api_data_url:
          type: string
          readOnly: true
        api_data_uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
        username:
          type: string
          readOnly: true
        json:
          type: object
          default: {}
        key:
          type: string
          pattern: ^[-a-zA-Z0-9_]+\z
          minLength: 1
          maxLength: 100
      required:
      - json
      - key
    UserForUserSelf:
      type: object
      properties:
        my_user_url:
          type: string
          readOnly: true
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        api_data:
          type: array
          items:
            type: object
            properties:
              my_api_data_url:
                type: string
                readOnly: true
              api_data_uuid:
                type: string
                format: uuid
                readOnly: true
              created:
                type: string
                format: date-time
                readOnly: true
              modified:
                type: string
                format: date-time
                readOnly: true
              username:
                type: string
                readOnly: true
              json:
                type: object
              key:
                type: string
                pattern: ^[-a-zA-Z0-9_]+\z
                minLength: 1
                maxLength: 100
            required:
            - json
            - key
          readOnly: true
        customer_profile:
          type: object
          properties:
            addresses:
              type: array
              items:
                type: object
                properties:
                  address_uuid:
                    type: string
                    format: uuid
                  address_url:
                    type: string
                    readOnly: true
                  address:
                    type: string
                    readOnly: true
                  default_location:
                    type: boolean
                    readOnly: true
                  lat:
                    type: number
                    readOnly: true
                  lon:
                    type: number
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  sitemaps_url:
                    type: string
                    readOnly: true
                required:
                - address_uuid
            is_customer_admin:
              type: boolean
              readOnly: true
            is_customer_user_admin:
              type: boolean
              readOnly: true
            role:
              enum:
              - enterprise_admin
              - enterprise_super_user
              - enterprise_user
              - multi_site_admin
              - multi_site_super_user
              - multi_site_user
              - single_site_admin
              - single_site_super_user
              - single_site_user
              type: string
              readOnly: true
            role_addresses:
              type: array
              items:
                type: object
                properties:
                  address_url:
                    type: string
                    readOnly: true
                  address_uuid:
                    type: string
                    format: uuid
                    readOnly: true
                  address:
                    type: string
                    readOnly: true
                  default_location:
                    type: boolean
                    readOnly: true
                  devices_count:
                    type: integer
                    readOnly: true
                  lat:
                    type: number
                    readOnly: true
                  lon:
                    type: number
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  sitemaps_count:
                    type: integer
                    readOnly: true
                  sitemaps_url:
                    type: string
                    readOnly: true
              readOnly: true
            role_priority:
              type: integer
              readOnly: true
          readOnly: true
        customer_url:
          type: string
          readOnly: true
        customer_uuid:
          type: string
          format: uuid
          readOnly: true
        distributor_profile:
          type: object
          properties:
            is_distributor_admin:
              type: boolean
              readOnly: true
          readOnly: true
        distributor_url:
          type: string
          readOnly: true
        distributor_uuid:
          type: string
          format: uuid
          readOnly: true
        email:
          type: string
          format: email
          maxLength: 254
          minLength: 3
        is_active:
          type: boolean
          readOnly: true
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        is_superuser:
          type: boolean
          readOnly: true
          description: Designates that this user has all permissions without explicitly
            assigning them.
        last_login:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        my_api_data_url:
          type: string
          readOnly: true
        seller_profile:
          type: object
          properties:
            is_seller_admin:
              type: boolean
              readOnly: true
          readOnly: true
        seller_url:
          type: string
          readOnly: true
        seller_uuid:
          type: string
          format: uuid
          readOnly: true
        tz:
          enum:
          - Etc/GMT+12
          - Etc/GMT+11
          - Pacific/Midway
          - Pacific/Niue
          - Pacific/Pago_Pago
          - Pacific/Samoa
          - US/Samoa
          - America/Adak
          - America/Atka
          - Etc/GMT+10
          - HST
          - Pacific/Honolulu
          - Pacific/Johnston
          - Pacific/Rarotonga
          - Pacific/Tahiti
          - US/Aleutian
          - US/Hawaii
          - Pacific/Marquesas
          - America/Anchorage
          - America/Juneau
          - America/Metlakatla
          - America/Nome
          - America/Sitka
          - America/Yakutat
          - Etc/GMT+9
          - Pacific/Gambier
          - US/Alaska
          - America/Ensenada
          - America/Los_Angeles
          - America/Santa_Isabel
          - America/Tijuana
          - America/Vancouver
          - Canada/Pacific
          - Etc/GMT+8
          - Mexico/BajaNorte
          - PST8PDT
          - Pacific/Pitcairn
          - US/Pacific
          - America/Boise
          - America/Cambridge_Bay
          - America/Ciudad_Juarez
          - America/Creston
          - America/Dawson
          - America/Dawson_Creek
          - America/Denver
          - America/Edmonton
          - America/Fort_Nelson
          - America/Hermosillo
          - America/Inuvik
          - America/Mazatlan
          - America/Phoenix
          - America/Shiprock
          - America/Whitehorse
          - America/Yellowknife
          - Canada/Mountain
          - Canada/Yukon
          - Etc/GMT+7
          - MST
          - MST7MDT
          - Mexico/BajaSur
          - Navajo
          - US/Arizona
          - US/Mountain
          - America/Bahia_Banderas
          - America/Belize
          - America/Chicago
          - America/Chihuahua
          - America/Costa_Rica
          - America/El_Salvador
          - America/Guatemala
          - America/Indiana/Knox
          - America/Indiana/Tell_City
          - America/Knox_IN
          - America/Managua
          - America/Matamoros
          - America/Menominee
          - America/Merida
          - America/Mexico_City
          - America/Monterrey
          - America/North_Dakota/Beulah
          - America/North_Dakota/Center
          - America/North_Dakota/New_Salem
          - America/Ojinaga
          - America/Rainy_River
          - America/Rankin_Inlet
          - America/Regina
          - America/Resolute
          - America/Swift_Current
          - America/Tegucigalpa
          - America/Winnipeg
          - CST6CDT
          - Canada/Central
          - Canada/Saskatchewan
          - Etc/GMT+6
          - Mexico/General
          - Pacific/Galapagos
          - US/Central
          - US/Indiana-Starke
          - America/Atikokan
          - America/Bogota
          - America/Cancun
          - America/Cayman
          - America/Coral_Harbour
          - America/Detroit
          - America/Eirunepe
          - America/Fort_Wayne
          - America/Grand_Turk
          - America/Guayaquil
          - America/Havana
          - America/Indiana/Indianapolis
          - America/Indiana/Marengo
          - America/Indiana/Petersburg
          - America/Indiana/Vevay
          - America/Indiana/Vincennes
          - America/Indiana/Winamac
          - America/Indianapolis
          - America/Iqaluit
          - America/Jamaica
          - America/Kentucky/Louisville
          - America/Kentucky/Monticello
          - America/Lima
          - America/Louisville
          - America/Montreal
          - America/Nassau
          - America/New_York
          - America/Nipigon
          - America/Panama
          - America/Pangnirtung
          - America/Port-au-Prince
          - America/Porto_Acre
          - America/Rio_Branco
          - America/Thunder_Bay
          - America/Toronto
          - Brazil/Acre
          - Canada/Eastern
          - Chile/EasterIsland
          - Cuba
          - EST
          - EST5EDT
          - Etc/GMT+5
          - Jamaica
          - Pacific/Easter
          - US/East-Indiana
          - US/Eastern
          - US/Michigan
          - America/Anguilla
          - America/Antigua
          - America/Aruba
          - America/Barbados
          - America/Blanc-Sablon
          - America/Boa_Vista
          - America/Campo_Grande
          - America/Caracas
          - America/Cuiaba
          - America/Curacao
          - America/Dominica
          - America/Glace_Bay
          - America/Goose_Bay
          - America/Grenada
          - America/Guadeloupe
          - America/Guyana
          - America/Halifax
          - America/Kralendijk
          - America/La_Paz
          - America/Lower_Princes
          - America/Manaus
          - America/Marigot
          - America/Martinique
          - America/Moncton
          - America/Montserrat
          - America/Port_of_Spain
          - America/Porto_Velho
          - America/Puerto_Rico
          - America/Santo_Domingo
          - America/St_Barthelemy
          - America/St_Kitts
          - America/St_Lucia
          - America/St_Thomas
          - America/St_Vincent
          - America/Thule
          - America/Tortola
          - America/Virgin
          - Atlantic/Bermuda
          - Brazil/West
          - Canada/Atlantic
          - Etc/GMT+4
          - America/St_Johns
          - Canada/Newfoundland
          - America/Araguaina
          - America/Argentina/Buenos_Aires
          - America/Argentina/Catamarca
          - America/Argentina/ComodRivadavia
          - America/Argentina/Cordoba
          - America/Argentina/Jujuy
          - America/Argentina/La_Rioja
          - America/Argentina/Mendoza
          - America/Argentina/Rio_Gallegos
          - America/Argentina/Salta
          - America/Argentina/San_Juan
          - America/Argentina/San_Luis
          - America/Argentina/Tucuman
          - America/Argentina/Ushuaia
          - America/Asuncion
          - America/Bahia
          - America/Belem
          - America/Buenos_Aires
          - America/Catamarca
          - America/Cayenne
          - America/Cordoba
          - America/Fortaleza
          - America/Jujuy
          - America/Maceio
          - America/Mendoza
          - America/Miquelon
          - America/Montevideo
          - America/Paramaribo
          - America/Punta_Arenas
          - America/Recife
          - America/Rosario
          - America/Santarem
          - America/Santiago
          - America/Sao_Paulo
          - Antarctica/Palmer
          - Antarctica/Rothera
          - Atlantic/Stanley
          - Brazil/East
          - Chile/Continental
          - Etc/GMT+3
          - America/Godthab
          - America/Noronha
          - America/Nuuk
          - Atlantic/South_Georgia
          - Brazil/DeNoronha
          - Etc/GMT+2
          - America/Scoresbysund
          - Atlantic/Azores
          - Atlantic/Cape_Verde
          - Etc/GMT+1
          - Africa/Abidjan
          - Africa/Accra
          - Africa/Bamako
          - Africa/Banjul
          - Africa/Bissau
          - Africa/Conakry
          - Africa/Dakar
          - Africa/Freetown
          - Africa/Lome
          - Africa/Monrovia
          - Africa/Nouakchott
          - Africa/Ouagadougou
          - Africa/Sao_Tome
          - Africa/Timbuktu
          - America/Danmarkshavn
          - Antarctica/Troll
          - Atlantic/Canary
          - Atlantic/Faeroe
          - Atlantic/Faroe
          - Atlantic/Madeira
          - Atlantic/Reykjavik
          - Atlantic/St_Helena
          - Eire
          - Etc/GMT
          - Etc/GMT+0
          - Etc/GMT-0
          - Etc/GMT0
          - Etc/Greenwich
          - Etc/UCT
          - Etc/UTC
          - Etc/Universal
          - Etc/Zulu
          - Europe/Belfast
          - Europe/Dublin
          - Europe/Guernsey
          - Europe/Isle_of_Man
          - Europe/Jersey
          - Europe/Lisbon
          - Europe/London
          - Factory
          - GB
          - GB-Eire
          - GMT
          - GMT+0
          - GMT-0
          - GMT0
          - Greenwich
          - Iceland
          - Portugal
          - UCT
          - UTC
          - Universal
          - WET
          - Zulu
          - localtime
          - Africa/Algiers
          - Africa/Bangui
          - Africa/Brazzaville
          - Africa/Casablanca
          - Africa/Ceuta
          - Africa/Douala
          - Africa/El_Aaiun
          - Africa/Kinshasa
          - Africa/Lagos
          - Africa/Libreville
          - Africa/Luanda
          - Africa/Malabo
          - Africa/Ndjamena
          - Africa/Niamey
          - Africa/Porto-Novo
          - Africa/Tunis
          - Arctic/Longyearbyen
          - Atlantic/Jan_Mayen
          - CET
          - Etc/GMT-1
          - Europe/Amsterdam
          - Europe/Andorra
          - Europe/Belgrade
          - Europe/Berlin
          - Europe/Bratislava
          - Europe/Brussels
          - Europe/Budapest
          - Europe/Busingen
          - Europe/Copenhagen
          - Europe/Gibraltar
          - Europe/Ljubljana
          - Europe/Luxembourg
          - Europe/Madrid
          - Europe/Malta
          - Europe/Monaco
          - Europe/Oslo
          - Europe/Paris
          - Europe/Podgorica
          - Europe/Prague
          - Europe/Rome
          - Europe/San_Marino
          - Europe/Sarajevo
          - Europe/Skopje
          - Europe/Stockholm
          - Europe/Tirane
          - Europe/Vaduz
          - Europe/Vatican
          - Europe/Vienna
          - Europe/Warsaw
          - Europe/Zagreb
          - Europe/Zurich
          - MET
          - Poland
          - Africa/Blantyre
          - Africa/Bujumbura
          - Africa/Cairo
          - Africa/Gaborone
          - Africa/Harare
          - Africa/Johannesburg
          - Africa/Juba
          - Africa/Khartoum
          - Africa/Kigali
          - Africa/Lubumbashi
          - Africa/Lusaka
          - Africa/Maputo
          - Africa/Maseru
          - Africa/Mbabane
          - Africa/Tripoli
          - Africa/Windhoek
          - Asia/Beirut
          - Asia/Famagusta
          - Asia/Gaza
          - Asia/Hebron
          - Asia/Jerusalem
          - Asia/Nicosia
          - Asia/Tel_Aviv
          - EET
          - Egypt
          - Etc/GMT-2
          - Europe/Athens
          - Europe/Bucharest
          - Europe/Chisinau
          - Europe/Helsinki
          - Europe/Kaliningrad
          - Europe/Kiev
          - Europe/Kyiv
          - Europe/Mariehamn
          - Europe/Nicosia
          - Europe/Riga
          - Europe/Sofia
          - Europe/Tallinn
          - Europe/Tiraspol
          - Europe/Uzhgorod
          - Europe/Vilnius
          - Europe/Zaporozhye
          - Israel
          - Libya
          - Africa/Addis_Ababa
          - Africa/Asmara
          - Africa/Asmera
          - Africa/Dar_es_Salaam
          - Africa/Djibouti
          - Africa/Kampala
          - Africa/Mogadishu
          - Africa/Nairobi
          - Antarctica/Syowa
          - Asia/Aden
          - Asia/Amman
          - Asia/Baghdad
          - Asia/Bahrain
          - Asia/Damascus
          - Asia/Istanbul
          - Asia/Kuwait
          - Asia/Qatar
          - Asia/Riyadh
          - Etc/GMT-3
          - Europe/Istanbul
          - Europe/Kirov
          - Europe/Minsk
          - Europe/Moscow
          - Europe/Simferopol
          - Europe/Volgograd
          - Indian/Antananarivo
          - Indian/Comoro
          - Indian/Mayotte
          - Turkey
          - W-SU
          - Asia/Tehran
          - Iran
          - Asia/Baku
          - Asia/Dubai
          - Asia/Muscat
          - Asia/Tbilisi
          - Asia/Yerevan
          - Etc/GMT-4
          - Europe/Astrakhan
          - Europe/Samara
          - Europe/Saratov
          - Europe/Ulyanovsk
          - Indian/Mahe
          - Indian/Mauritius
          - Indian/Reunion
          - Asia/Kabul
          - Antarctica/Mawson
          - Asia/Aqtau
          - Asia/Aqtobe
          - Asia/Ashgabat
          - Asia/Ashkhabad
          - Asia/Atyrau
          - Asia/Dushanbe
          - Asia/Karachi
          - Asia/Oral
          - Asia/Qyzylorda
          - Asia/Samarkand
          - Asia/Tashkent
          - Asia/Yekaterinburg
          - Etc/GMT-5
          - Indian/Kerguelen
          - Indian/Maldives
          - Asia/Calcutta
          - Asia/Colombo
          - Asia/Kolkata
          - Asia/Kathmandu
          - Asia/Katmandu
          - Antarctica/Vostok
          - Asia/Almaty
          - Asia/Bishkek
          - Asia/Dacca
          - Asia/Dhaka
          - Asia/Kashgar
          - Asia/Omsk
          - Asia/Qostanay
          - Asia/Thimbu
          - Asia/Thimphu
          - Asia/Urumqi
          - Etc/GMT-6
          - Indian/Chagos
          - Asia/Rangoon
          - Asia/Yangon
          - Indian/Cocos
          - Antarctica/Davis
          - Asia/Bangkok
          - Asia/Barnaul
          - Asia/Ho_Chi_Minh
          - Asia/Hovd
          - Asia/Jakarta
          - Asia/Krasnoyarsk
          - Asia/Novokuznetsk
          - Asia/Novosibirsk
          - Asia/Phnom_Penh
          - Asia/Pontianak
          - Asia/Saigon
          - Asia/Tomsk
          - Asia/Vientiane
          - Etc/GMT-7
          - Indian/Christmas
          - Asia/Brunei
          - Asia/Choibalsan
          - Asia/Chongqing
          - Asia/Chungking
          - Asia/Harbin
          - Asia/Hong_Kong
          - Asia/Irkutsk
          - Asia/Kuala_Lumpur
          - Asia/Kuching
          - Asia/Macao
          - Asia/Macau
          - Asia/Makassar
          - Asia/Manila
          - Asia/Shanghai
          - Asia/Singapore
          - Asia/Taipei
          - Asia/Ujung_Pandang
          - Asia/Ulaanbaatar
          - Asia/Ulan_Bator
          - Australia/Perth
          - Australia/West
          - Etc/GMT-8
          - Hongkong
          - PRC
          - ROC
          - Singapore
          - Australia/Eucla
          - Asia/Chita
          - Asia/Dili
          - Asia/Jayapura
          - Asia/Khandyga
          - Asia/Pyongyang
          - Asia/Seoul
          - Asia/Tokyo
          - Asia/Yakutsk
          - Etc/GMT-9
          - Japan
          - Pacific/Palau
          - ROK
          - Australia/Darwin
          - Australia/North
          - Antarctica/DumontDUrville
          - Asia/Ust-Nera
          - Asia/Vladivostok
          - Australia/Brisbane
          - Australia/Lindeman
          - Australia/Queensland
          - Etc/GMT-10
          - Pacific/Chuuk
          - Pacific/Guam
          - Pacific/Port_Moresby
          - Pacific/Saipan
          - Pacific/Truk
          - Pacific/Yap
          - Australia/Adelaide
          - Australia/Broken_Hill
          - Australia/South
          - Australia/Yancowinna
          - Antarctica/Casey
          - Antarctica/Macquarie
          - Asia/Magadan
          - Asia/Sakhalin
          - Asia/Srednekolymsk
          - Australia/ACT
          - Australia/Canberra
          - Australia/Currie
          - Australia/Hobart
          - Australia/LHI
          - Australia/Lord_Howe
          - Australia/Melbourne
          - Australia/NSW
          - Australia/Sydney
          - Australia/Tasmania
          - Australia/Victoria
          - Etc/GMT-11
          - Pacific/Bougainville
          - Pacific/Efate
          - Pacific/Guadalcanal
          - Pacific/Kosrae
          - Pacific/Noumea
          - Pacific/Pohnpei
          - Pacific/Ponape
          - Asia/Anadyr
          - Asia/Kamchatka
          - Etc/GMT-12
          - Kwajalein
          - Pacific/Fiji
          - Pacific/Funafuti
          - Pacific/Kwajalein
          - Pacific/Majuro
          - Pacific/Nauru
          - Pacific/Norfolk
          - Pacific/Tarawa
          - Pacific/Wake
          - Pacific/Wallis
          - Antarctica/McMurdo
          - Antarctica/South_Pole
          - Etc/GMT-13
          - NZ
          - Pacific/Apia
          - Pacific/Auckland
          - Pacific/Enderbury
          - Pacific/Fakaofo
          - Pacific/Kanton
          - Pacific/Tongatapu
          - NZ-CHAT
          - Pacific/Chatham
          - Etc/GMT-14
          - Pacific/Kiritimati
          type: string
          readOnly: true
        first_name:
          type: string
          maxLength: 150
          minLength: 1
        last_name:
          type: string
          maxLength: 150
          minLength: 1
      required:
      - email
      - first_name
      - last_name
    UserActionChangePasswordGet:
      type: object
      properties:
        public_rsa_key:
          type: string
          readOnly: true
          description: RSA Public Key for encrypting passwords
    SiteMapForCustomerAdminCreate:
      type: object
      properties:
        sitemap_url:
          type: string
          readOnly: true
        sitemap_uuid:
          type: string
          format: uuid
          readOnly: true
        address_uuid:
          type: string
          format: uuid
        default_sitemap:
          type: boolean
          default: false
        devices:
          type: array
          items:
            type: object
            properties:
              device_uuid:
                type: string
                format: uuid
                description: Device device_uuid to act on
            required:
            - device_uuid
        image_map:
          type: string
          format: binary
          description: PATCH/POST=(application/json 'data:image/*;base64,...=' URI
            or multipart/form-data); GET applcation/json image_map_url
        image_map_x:
          type: integer
          maximum: 2147483647
          minimum: 1
          default: 1000
        image_map_y:
          type: integer
          maximum: 2147483647
          minimum: 1
          default: 1000
        name:
          type: string
          maxLength: 255
        order:
          type: integer
          maximum: 2147483647
          default: 1000
          description: Site Map Order within Address, smaller is first
          minimum: 0
        address_url:
          type: string
          readOnly: true
      required:
      - address_uuid
      - name
    SiteMapActionAddDevice:
      type: object
      properties:
        device_uuid:
          type: string
          format: uuid
          description: Device device_uuid to act on
      required:
      - device_uuid
    SiteMapActionRemoveDevice:
      type: object
      properties:
        device_uuid:
          type: string
          format: uuid
          description: Device device_uuid to act on
      required:
      - device_uuid
    SiteMapUploadImg:
      type: object
      properties:
        sitemap_url:
          type: string
          readOnly: true
        sitemap_uuid:
          type: string
          format: uuid
          readOnly: true
        image_map:
          type: string
          format: binary
          description: PATCH/POST=(application/json 'data:image/*;base64,...=' URI
            or multipart/form-data); GET applcation/json image_map_url
        image_map_x:
          type: integer
          maximum: 2147483647
          minimum: 1
          default: 1000
        image_map_y:
          type: integer
          maximum: 2147483647
          minimum: 1
          default: 1000
        address_url:
          type: string
          readOnly: true
        address_uuid:
          type: string
          format: uuid
          readOnly: true
        default_sitemap:
          type: boolean
          readOnly: true
        devices:
          type: array
          items:
            type: object
            properties:
              device_url:
                type: string
                readOnly: true
              device_uuid:
                type: string
                format: uuid
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
              allowed_device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              camera_choices:
                type: array
                items:
                  type: array
                  items:
                    type: string
                readOnly: true
              camera_default:
                enum:
                - 1
                - 2
                - 3
                - 4
                - 5
                - 6
                - 7
                - 8
                - 9
                - 10
                - 11
                - 12
                - 13
                - 14
                - 15
                - 16
                - 0
                type: integer
                readOnly: true
              device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              is_active:
                type: boolean
                readOnly: true
              is_subscribed:
                type: boolean
                readOnly: true
              last_connected:
                type: string
                format: date-time
                readOnly: true
                nullable: true
              lat:
                type: number
                readOnly: true
              lon:
                type: number
                readOnly: true
              mac:
                type: string
                readOnly: true
                description: MAC Address
              name:
                type: string
                readOnly: true
              sitemap_bearing:
                type: number
                readOnly: true
                nullable: true
              sitemap_uuid:
                type: string
                format: uuid
                readOnly: true
              sitemap_x_fraction:
                type: number
                readOnly: true
                nullable: true
              sitemap_y_fraction:
                type: number
                readOnly: true
                nullable: true
              status:
                enum:
                - ok
                - offline
                type: string
                readOnly: true
              sync_device_recordings:
                type: boolean
                readOnly: true
                description: Copy to Cloud if Storage Subscribed
              username:
                type: string
                readOnly: true
                nullable: true
          readOnly: true
        name:
          type: string
          readOnly: true
        order:
          type: integer
          readOnly: true
          description: Site Map Order within Address, smaller is first
      required:
      - image_map
    AddressForCustomerAdminCreate:
      type: object
      properties:
        address:
          type: string
        customer_uuid:
          type: string
          format: uuid
        default_location:
          type: boolean
          default: false
        lat:
          type: number
          maximum: 90
          minimum: -90
          default: 0
        lon:
          type: number
          maximum: 180
          minimum: -180
          default: 0
        name:
          type: string
          maxLength: 50
        address_url:
          type: string
          readOnly: true
        address_uuid:
          type: string
          format: uuid
          readOnly: true
        customer_url:
          type: string
          readOnly: true
        devices_count:
          type: integer
          readOnly: true
        sitemaps:
          type: array
          items:
            type: object
            properties:
              sitemap_url:
                type: string
                readOnly: true
              sitemap_uuid:
                type: string
                format: uuid
                readOnly: true
              default_sitemap:
                type: boolean
              devices:
                type: array
                items:
                  type: object
                  properties:
                    device_url:
                      type: string
                      readOnly: true
                    device_uuid:
                      type: string
                      format: uuid
                      readOnly: true
                    address_uuid:
                      type: string
                      format: uuid
                      readOnly: true
                    allowed_device_type:
                      enum:
                      - single
                      - dual
                      - quad
                      - max
                      type: string
                      readOnly: true
                    camera_choices:
                      type: array
                      items:
                        type: array
                        items:
                          type: string
                      readOnly: true
                    camera_default:
                      enum:
                      - 1
                      - 2
                      - 3
                      - 4
                      - 5
                      - 6
                      - 7
                      - 8
                      - 9
                      - 10
                      - 11
                      - 12
                      - 13
                      - 14
                      - 15
                      - 16
                      - 0
                      type: integer
                      readOnly: true
                    device_type:
                      enum:
                      - single
                      - dual
                      - quad
                      - max
                      type: string
                      readOnly: true
                    is_active:
                      type: boolean
                      readOnly: true
                    is_subscribed:
                      type: boolean
                      readOnly: true
                    last_connected:
                      type: string
                      format: date-time
                      readOnly: true
                      nullable: true
                    lat:
                      type: number
                      readOnly: true
                    lon:
                      type: number
                      readOnly: true
                    mac:
                      type: string
                      readOnly: true
                      description: MAC Address
                    name:
                      type: string
                      readOnly: true
                    sitemap_bearing:
                      type: number
                      readOnly: true
                      nullable: true
                    sitemap_uuid:
                      type: string
                      format: uuid
                      readOnly: true
                    sitemap_x_fraction:
                      type: number
                      readOnly: true
                      nullable: true
                    sitemap_y_fraction:
                      type: number
                      readOnly: true
                      nullable: true
                    status:
                      enum:
                      - ok
                      - offline
                      type: string
                      readOnly: true
                    sync_device_recordings:
                      type: boolean
                      readOnly: true
                      description: Copy to Cloud if Storage Subscribed
                    username:
                      type: string
                      readOnly: true
                      nullable: true
                readOnly: true
              image_map:
                type: string
                format: binary
                description: PATCH/POST=(application/json 'data:image/*;base64,...='
                  URI or multipart/form-data); GET applcation/json image_map_url
              image_map_x:
                type: integer
                maximum: 2147483647
                minimum: 1
              image_map_y:
                type: integer
                maximum: 2147483647
                minimum: 1
              name:
                type: string
                maxLength: 255
              order:
                type: integer
                maximum: 2147483647
                description: Site Map Order within Address, smaller is first
                minimum: 0
              address_url:
                type: string
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
            required:
            - name
          readOnly: true
        sitemaps_count:
          type: string
          readOnly: true
        sitemaps_url:
          type: string
          readOnly: true
      required:
      - address
      - customer_uuid
      - name
    SubscriptionActionEndSubscriptions:
      type: object
      properties:
        subscriptions:
          type: array
          items:
            type: object
            properties:
              subscription_key:
                type: string
              subscription_url:
                type: string
                readOnly: true
              action:
                type: object
                properties:
                  at:
                    type: string
                    format: date-time
                    readOnly: true
                  msg:
                    type: string
                    readOnly: true
                readOnly: true
              customer_assigned_timestamp:
                type: string
                format: date-time
                readOnly: true
                nullable: true
              end_timestamp:
                type: string
                format: date-time
                readOnly: true
                nullable: true
              ended_by_timestamp:
                type: string
                format: date-time
                readOnly: true
                nullable: true
              product:
                type: object
                properties:
                  device_type:
                    type: string
                    readOnly: true
                    nullable: true
                  is_device_subscription:
                    type: boolean
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  number_of_months:
                    type: integer
                    readOnly: true
                  product_code:
                    type: string
                    readOnly: true
                    pattern: ^[-a-zA-Z0-9_]+$
                  product_customer_max:
                    type: integer
                    readOnly: true
                    nullable: true
                  storage_quota_mb:
                    type: integer
                    readOnly: true
                  trial_months:
                    type: integer
                    readOnly: true
                readOnly: true
              seller_assigned_timestamp:
                type: string
                format: date-time
                readOnly: true
                nullable: true
            required:
            - subscription_key
      required:
      - subscriptions
    GeocodeAddressText:
      type: object
      properties:
        address:
          type: string
          description: Address Text to Geocode
        countries:
          type: array
          items:
            enum:
            - ad
            - ae
            - af
            - ag
            - ai
            - al
            - am
            - ao
            - aq
            - ar
            - as
            - at
            - au
            - aw
            - ax
            - az
            - ba
            - bb
            - bd
            - be
            - bf
            - bg
            - bh
            - bi
            - bj
            - bl
            - bm
            - bn
            - bo
            - bq
            - br
            - bs
            - bt
            - bv
            - bw
            - by
            - bz
            - ca
            - cc
            - cd
            - cf
            - cg
            - ch
            - ci
            - ck
            - cl
            - cm
            - cn
            - co
            - cr
            - cu
            - cv
            - cw
            - cx
            - cy
            - cz
            - de
            - dj
            - dk
            - dm
            - do
            - dz
            - ec
            - ee
            - eg
            - eh
            - er
            - es
            - et
            - fi
            - fj
            - fk
            - fm
            - fo
            - fr
            - ga
            - gb
            - gd
            - ge
            - gf
            - gg
            - gh
            - gi
            - gl
            - gm
            - gn
            - gp
            - gq
            - gr
            - gs
            - gt
            - gu
            - gw
            - gy
            - hk
            - hm
            - hn
            - hr
            - ht
            - hu
            - id
            - ie
            - il
            - im
            - in
            - io
            - iq
            - ir
            - is
            - it
            - je
            - jm
            - jo
            - jp
            - ke
            - kg
            - kh
            - ki
            - km
            - kn
            - kp
            - kr
            - kw
            - ky
            - kz
            - la
            - lb
            - lc
            - li
            - lk
            - lr
            - ls
            - lt
            - lu
            - lv
            - ly
            - ma
            - mc
            - md
            - me
            - mf
            - mg
            - mh
            - mk
            - ml
            - mm
            - mn
            - mo
            - mp
            - mq
            - mr
            - ms
            - mt
            - mu
            - mv
            - mw
            - mx
            - my
            - mz
            - na
            - nc
            - ne
            - nf
            - ng
            - ni
            - nl
            - 'no'
            - np
            - nr
            - nu
            - nz
            - om
            - pa
            - pe
            - pf
            - pg
            - ph
            - pk
            - pl
            - pm
            - pn
            - pr
            - ps
            - pt
            - pw
            - py
            - qa
            - re
            - ro
            - rs
            - ru
            - rw
            - sa
            - sb
            - sc
            - sd
            - se
            - sg
            - sh
            - si
            - sj
            - sk
            - sl
            - sm
            - sn
            - so
            - sr
            - ss
            - st
            - sv
            - sx
            - sy
            - sz
            - tc
            - td
            - tf
            - tg
            - th
            - tj
            - tk
            - tl
            - tm
            - tn
            - to
            - tr
            - tt
            - tv
            - tw
            - tz
            - ua
            - ug
            - um
            - us
            - uy
            - uz
            - va
            - vc
            - ve
            - vg
            - vi
            - vn
            - vu
            - wf
            - ws
            - xk
            - ye
            - yt
            - za
            - zm
            - zw
            type: string
          default:
          - au
          description: Countries to search
        languages:
          type: array
          items:
            type: string
          description: List of languages for address
        near_location:
          type: object
          properties:
            lat:
              type: number
              maximum: 90
              minimum: -90
              description: latitude
            lon:
              type: number
              maximum: 180
              minimum: -180
              description: longitude
          description: Location for search ordering
        location:
          type: object
          properties:
            lat:
              type: number
              maximum: 90
              minimum: -90
              description: latitude
            lon:
              type: number
              maximum: 180
              minimum: -180
              description: longitude
          description: Location of result
      required:
      - address
    GeocodeLocationAddresses:
      type: object
      properties:
        search_location:
          type: object
          properties:
            lat:
              type: number
              maximum: 90
              minimum: -90
              description: latitude
            lon:
              type: number
              maximum: 180
              minimum: -180
              description: longitude
          required:
          - lat
          - lon
          description: Location to search
        limit:
          type: integer
          maximum: 20
          default: 5
          description: Maximum count of address results
        addresses:
          type: array
          items:
            type: object
            properties:
              location:
                type: object
                properties:
                  lat:
                    type: number
                    maximum: 90
                    minimum: -90
                    description: latitude
                  lon:
                    type: number
                    maximum: 180
                    minimum: -180
                    description: longitude
                required:
                - lat
                - lon
                description: Location of Address
              address:
                type: string
                description: Address Text
            required:
            - location
            - address
          readOnly: true
          description: Results (Address and Location)
      required:
      - search_location
    DeviceForCustomerAdminCreate:
      type: object
      properties:
        customer_uuid:
          type: string
          format: uuid
        device_type:
          enum:
          - single
          - dual
          - quad
          - max
          type: string
          default: single
        group_devices:
          type: array
          items:
            type: object
            properties:
              group_device_url:
                type: string
                readOnly: true
              group_device_uuid:
                type: string
                format: uuid
                readOnly: true
              device_url:
                type: string
                readOnly: true
              device_uuid:
                type: string
                format: uuid
                readOnly: true
              group_url:
                type: string
                readOnly: true
              group_uuid:
                type: string
                format: uuid
                readOnly: true
              order:
                type: integer
                maximum: 2147483647
                description: Device Order within Group, smaller is first
                minimum: 0
        is_active:
          type: boolean
          default: true
        lat:
          type: number
          maximum: 90
          minimum: -90
          default: 0
          nullable: true
          description: latitude
        lon:
          type: number
          maximum: 180
          minimum: -180
          default: 0
          nullable: true
          description: longitude
        mac:
          type: string
          description: MAC Address
          pattern: ^[A-Fa-f0-9]{12}$
          maxLength: 12
        name:
          type: string
          maxLength: 255
        oak:
          type: string
          description: Owner Authentication Key
          pattern: ^[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}$
          maxLength: 14
        password:
          type: string
          nullable: true
          maxLength: 255
        sitemap_bearing:
          type: number
          default: 45.0
          description: bearing
        sitemap_uuid:
          type: string
          format: uuid
          nullable: true
        sitemap_x_fraction:
          type: number
          maximum: 1.0
          default: 0.5
          description: x fraction
          minimum: 0.0
        sitemap_y_fraction:
          type: number
          maximum: 1.0
          default: 0.5
          description: y fraction
          minimum: 0.0
        sync_device_recordings:
          type: boolean
          default: true
          description: Copy to Cloud if Storage Subscribed
        username:
          type: string
          nullable: true
          maxLength: 255
        device_url:
          type: string
          readOnly: true
        device_uuid:
          type: string
          format: uuid
          readOnly: true
        camera_default:
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
          - 10
          - 11
          - 12
          - 13
          - 14
          - 15
          - 16
          - 0
          type: integer
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        deregister_mac_oak:
          type: string
          readOnly: true
          default: ''
        last_connected:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        modified:
          type: string
          format: date-time
          readOnly: true
        sitemap_id:
          type: string
          readOnly: true
        status:
          enum:
          - ok
          - offline
          type: string
          readOnly: true
      required:
      - customer_uuid
      - mac
      - name
      - oak
      - password
      - username
    DeviceActionSetRecordingAcknowledged:
      type: object
      properties:
        device_uuid:
          type: string
          format: uuid
          readOnly: true
        request_acknowledged:
          type: boolean
          readOnly: true
        request_acknowledged_time:
          type: string
          format: date-time
          readOnly: true
        request_up_to_start_time:
          type: string
          format: date-time
          readOnly: true
        updated_recordings:
          type: array
          items:
            type: object
            properties:
              recording_uuid:
                type: string
                format: uuid
                readOnly: true
              acknowledged:
                type: boolean
                readOnly: true
              acknowledged_time:
                type: string
                format: date-time
                readOnly: true
          readOnly: true
    GroupForCustomerAdminCreate:
      type: object
      properties:
        customer_uuid:
          type: string
          format: uuid
        group_devices:
          type: array
          items:
            type: object
            properties:
              device_uuid:
                type: string
                format: uuid
                description: Device device_uuid to act on
              order:
                type: integer
                maximum: 2147483647
                default: 1000
                description: Device Order within Group, smaller is first
                minimum: 0
            required:
            - device_uuid
        name:
          type: string
          maxLength: 50
        order:
          type: integer
          maximum: 2147483647
          default: 1000
          description: Group Order within Customer, smaller is first
          minimum: 0
        per_page:
          enum:
          - 2
          - 4
          - 6
          - 8
          type: integer
          default: 4
          description: How many Devices to Display on Live Group View
          minimum: -2147483648
          maximum: 2147483647
        group_url:
          type: string
          readOnly: true
        group_uuid:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        devices:
          type: array
          items:
            type: object
            properties:
              device_url:
                type: string
                readOnly: true
              device_uuid:
                type: string
                format: uuid
                readOnly: true
              address_uuid:
                type: string
                format: uuid
                readOnly: true
              allowed_device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              camera_choices:
                type: array
                items:
                  type: array
                  items:
                    type: string
                readOnly: true
              camera_default:
                enum:
                - 1
                - 2
                - 3
                - 4
                - 5
                - 6
                - 7
                - 8
                - 9
                - 10
                - 11
                - 12
                - 13
                - 14
                - 15
                - 16
                - 0
                type: integer
                readOnly: true
              device_type:
                enum:
                - single
                - dual
                - quad
                - max
                type: string
                readOnly: true
              is_active:
                type: boolean
                readOnly: true
              is_subscribed:
                type: boolean
                readOnly: true
              last_connected:
                type: string
                format: date-time
                readOnly: true
                nullable: true
              lat:
                type: number
                readOnly: true
              lon:
                type: number
                readOnly: true
              mac:
                type: string
                readOnly: true
                description: MAC Address
              name:
                type: string
                readOnly: true
              sitemap_bearing:
                type: number
                readOnly: true
                nullable: true
              sitemap_uuid:
                type: string
                format: uuid
                readOnly: true
              sitemap_x_fraction:
                type: number
                readOnly: true
                nullable: true
              sitemap_y_fraction:
                type: number
                readOnly: true
                nullable: true
              status:
                enum:
                - ok
                - offline
                type: string
                readOnly: true
              sync_device_recordings:
                type: boolean
                readOnly: true
                description: Copy to Cloud if Storage Subscribed
              username:
                type: string
                readOnly: true
                nullable: true
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
      - customer_uuid
      - name
    GroupActionAddDevice:
      type: object
      properties:
        device_uuid:
          type: string
          format: uuid
          description: Device device_uuid to act on
        order:
          type: integer
          maximum: 2147483647
          default: 1000
          description: Device Order within Group, smaller is first
          minimum: 0
      required:
      - device_uuid
    GroupActionRemoveDevice:
      type: object
      properties:
        device_uuid:
          type: string
          format: uuid
          description: Device device_uuid to act on
      required:
      - device_uuid
    DeviceRecordingActionSetAcknowledged:
      type: object
      properties:
        recording_uuid:
          type: string
          format: uuid
          readOnly: true
        acknowledged:
          type: boolean
          readOnly: true
        acknowledged_time:
          type: string
          format: date-time
          readOnly: true
        request_acknowledged:
          type: boolean
          readOnly: true
        request_acknowledged_time:
          type: string
          format: date-time
          readOnly: true
    UserForCustomerAdminCreate:
      type: object
      properties:
        user_url:
          type: string
          readOnly: true
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        is_superuser:
          type: boolean
          readOnly: true
          description: Designates that this user has all permissions without explicitly
            assigning them.
        last_login:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        customer_profile:
          type: object
          properties:
            customer_profile_url:
              type: string
              readOnly: true
            customer_url:
              type: string
              readOnly: true
            is_customer_admin:
              type: boolean
              readOnly: true
            is_customer_user_admin:
              type: boolean
              readOnly: true
            role_addresses:
              type: array
              items:
                type: object
                properties:
                  address_url:
                    type: string
                    readOnly: true
                  address_uuid:
                    type: string
                    format: uuid
                    readOnly: true
                  address:
                    type: string
                    readOnly: true
                  default_location:
                    type: boolean
                    readOnly: true
                  devices_count:
                    type: integer
                    readOnly: true
                  lat:
                    type: number
                    readOnly: true
                  lon:
                    type: number
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  sitemaps_count:
                    type: integer
                    readOnly: true
                  sitemaps_url:
                    type: string
                    readOnly: true
              readOnly: true
            role_priority:
              type: integer
              readOnly: true
            addresses:
              type: array
              items:
                type: object
                properties:
                  address_uuid:
                    type: string
                    format: uuid
                  address_url:
                    type: string
                    readOnly: true
                  address:
                    type: string
                    readOnly: true
                  default_location:
                    type: boolean
                    readOnly: true
                  lat:
                    type: number
                    readOnly: true
                  lon:
                    type: number
                    readOnly: true
                  name:
                    type: string
                    readOnly: true
                  sitemaps_url:
                    type: string
                    readOnly: true
                required:
                - address_uuid
            customer_uuid:
              type: string
              format: uuid
            role:
              enum:
              - enterprise_admin
              - enterprise_super_user
              - enterprise_user
              - multi_site_admin
              - multi_site_super_user
              - multi_site_user
              - single_site_admin
              - single_site_super_user
              - single_site_user
              type: string
          required:
          - customer_uuid
        email:
          type: string
          format: email
          maxLength: 254
          minLength: 3
        first_name:
          type: string
          maxLength: 150
          minLength: 1
        is_active:
          type: boolean
          default: true
          description: Designates whether this user should be treated as active. Unselect
            this instead of deleting accounts.
        last_name:
          type: string
          maxLength: 150
          minLength: 1
      required:
      - customer_profile
      - email
      - first_name
      - last_name
    UserActionChangePassword:
      type: object
      properties:
        username:
          type: string
          readOnly: true
          description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
        new_enc_password:
          type: string
          description: base64 encoded RSA-OAEP (md sha512 mgf1 sha1) utf-8 binary
            NEW password
        old_enc_password:
          type: string
          description: base64 encoded RSA-OAEP (md sha512 mgf1 sha1) utf-8 binary
            OLD password
      required:
      - new_enc_password
      - old_enc_password
