openapi: 3.0.4
servers:
  - url: https://{environment}.pigello.io
    variables:
      environment:
        default: dev.api
        enum:
          - dev.api
          - api
security:
  - customer_id: []
    application_id: []
    service_id: []
    service_version_id: []
    client_ct: []
    client_object_id: []
    client_secret: []
paths:
  /measurements/sensors/sensorspecification/:
    post:
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.sensorspecification'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Sensorspecification
        - Sensors
      summary: Create 'Sensorspecification'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.sensorspecification'
  /measurements/sensors/sensorspecification/{pk}/:
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.sensorspecification'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Sensorspecification
        - Sensors
      summary: Get 'Sensorspecification'
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.sensorspecification'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Sensorspecification
        - Sensors
      summary: Update 'Sensorspecification'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.sensorspecification'
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Sensorspecification
        - Sensors
      summary: Delete 'Sensorspecification'
  /measurements/sensors/sensorspecification/list/:
    get:
      responses:
        '200':
          description: Successful query
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.sensorspecification'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: _jsonl
          in: query
          required: false
          schema:
            type: boolean
        - name: _order_by
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          example: field_a,-field_b
        - name: _page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            description: >-
              **Additional Validation Information:**


              This value must be set together with the following fields:
              `_page_size`
        - name: _page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            description: |-
              **Additional Validation Information:**

              This value must be set together with the following fields: `_page`
        - name: _search
          in: query
          required: false
          schema:
            type: string
        - name: _slim
          in: query
          required: false
          schema:
            type: boolean
        - name: _statistics
          in: query
          required: false
          schema:
            type: boolean
        - name: customer_columns
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_realestates
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_segments
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: tags
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: billing_article
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: category
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: created_at
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: custom_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: name
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: organization
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: unit_name
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
      tags:
        - Sensorspecification
        - Sensors
      summary: List 'Sensorspecification'
    post:
      responses:
        '201':
          description: Successful bulk create/update
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.sensorspecification'
        '400':
          $ref: '#/components/responses/invalid_list_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Sensorspecification
        - Sensors
      summary: Bulk write 'Sensorspecification'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/measurements.sensorspecification'
  /measurements/measurementseries/measurementseries/list/:
    get:
      responses:
        '200':
          description: Successful query
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.measurementseries'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: _jsonl
          in: query
          required: false
          schema:
            type: boolean
        - name: _order_by
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          example: field_a,-field_b
        - name: _page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            description: >-
              **Additional Validation Information:**


              This value must be set together with the following fields:
              `_page_size`
        - name: _page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            description: |-
              **Additional Validation Information:**

              This value must be set together with the following fields: `_page`
        - name: _search
          in: query
          required: false
          schema:
            type: string
        - name: _slim
          in: query
          required: false
          schema:
            type: boolean
        - name: _statistics
          in: query
          required: false
          schema:
            type: boolean
        - name: customer_columns
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_realestates
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_segments
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: tags
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: accepted
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: created_at
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: custom_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: organization
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: sensor
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: start_date
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
      tags:
        - Measurementseries
      summary: List 'Measurementseries'
  /measurements/measurementseries/measurementseries/{pk}/:
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Measurementseries
      summary: Delete 'Measurementseries'
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.measurementseries'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Measurementseries
      summary: Get 'Measurementseries'
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.measurementseries'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Measurementseries
      summary: Update 'Measurementseries'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.measurementseries'
  /measurements/sensors/priceitem/:
    post:
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.priceitem'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Priceitem
        - Sensors
      summary: Create 'Priceitem'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.priceitem'
  /measurements/sensors/priceitem/{pk}/:
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.priceitem'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Priceitem
        - Sensors
      summary: Update 'Priceitem'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.priceitem'
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Priceitem
        - Sensors
      summary: Delete 'Priceitem'
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.priceitem'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Priceitem
        - Sensors
      summary: Get 'Priceitem'
  /measurements/sensors/priceitem/list/:
    get:
      responses:
        '200':
          description: Successful query
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.priceitem'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: _jsonl
          in: query
          required: false
          schema:
            type: boolean
        - name: _order_by
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          example: field_a,-field_b
        - name: _page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            description: >-
              **Additional Validation Information:**


              This value must be set together with the following fields:
              `_page_size`
        - name: _page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            description: |-
              **Additional Validation Information:**

              This value must be set together with the following fields: `_page`
        - name: _search
          in: query
          required: false
          schema:
            type: string
        - name: _slim
          in: query
          required: false
          schema:
            type: boolean
        - name: _statistics
          in: query
          required: false
          schema:
            type: boolean
        - name: customer_columns
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_realestates
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_segments
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: tags
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: created_at
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: custom_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: organization
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: price_group
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: start_date
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: unit_price
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
      tags:
        - Priceitem
        - Sensors
      summary: List 'Priceitem'
    post:
      responses:
        '201':
          description: Successful bulk create/update
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.priceitem'
        '400':
          $ref: '#/components/responses/invalid_list_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Priceitem
        - Sensors
      summary: Bulk write 'Priceitem'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/measurements.priceitem'
  /measurements/sensors/pricegrouponlyenabledfor/list/:
    get:
      responses:
        '200':
          description: Successful query
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: _jsonl
          in: query
          required: false
          schema:
            type: boolean
        - name: _order_by
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          example: field_a,-field_b
        - name: _page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            description: >-
              **Additional Validation Information:**


              This value must be set together with the following fields:
              `_page_size`
        - name: _page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            description: |-
              **Additional Validation Information:**

              This value must be set together with the following fields: `_page`
        - name: _search
          in: query
          required: false
          schema:
            type: string
        - name: _slim
          in: query
          required: false
          schema:
            type: boolean
        - name: _statistics
          in: query
          required: false
          schema:
            type: boolean
        - name: customer_columns
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_realestates
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_segments
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: tags
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: building
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: created_at
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: custom_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: organization
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: outdoor_area
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: parking_lot
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: price_group
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
      tags:
        - Pricegrouponlyenabledfor
        - Sensors
      summary: List 'Pricegrouponlyenabledfor'
    post:
      responses:
        '201':
          description: Successful bulk create/update
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
        '400':
          $ref: '#/components/responses/invalid_list_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Pricegrouponlyenabledfor
        - Sensors
      summary: Bulk write 'Pricegrouponlyenabledfor'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
  /measurements/sensors/pricegrouponlyenabledfor/{pk}/:
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Pricegrouponlyenabledfor
        - Sensors
      summary: Update 'Pricegrouponlyenabledfor'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Pricegrouponlyenabledfor
        - Sensors
      summary: Delete 'Pricegrouponlyenabledfor'
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Pricegrouponlyenabledfor
        - Sensors
      summary: Get 'Pricegrouponlyenabledfor'
  /measurements/sensors/pricegrouponlyenabledfor/:
    post:
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Pricegrouponlyenabledfor
        - Sensors
      summary: Create 'Pricegrouponlyenabledfor'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.pricegrouponlyenabledfor'
  /measurements/sensors/pricegroup/:
    post:
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.pricegroup'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Pricegroup
        - Sensors
      summary: Create 'Pricegroup'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.pricegroup'
  /measurements/sensors/pricegroup/{pk}/:
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Pricegroup
        - Sensors
      summary: Delete 'Pricegroup'
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.pricegroup'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Pricegroup
        - Sensors
      summary: Update 'Pricegroup'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.pricegroup'
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.pricegroup'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Pricegroup
        - Sensors
      summary: Get 'Pricegroup'
  /measurements/sensors/pricegroup/list/:
    get:
      responses:
        '200':
          description: Successful query
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.pricegroup'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: _jsonl
          in: query
          required: false
          schema:
            type: boolean
        - name: _order_by
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          example: field_a,-field_b
        - name: _page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            description: >-
              **Additional Validation Information:**


              This value must be set together with the following fields:
              `_page_size`
        - name: _page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            description: |-
              **Additional Validation Information:**

              This value must be set together with the following fields: `_page`
        - name: _search
          in: query
          required: false
          schema:
            type: string
        - name: _slim
          in: query
          required: false
          schema:
            type: boolean
        - name: _statistics
          in: query
          required: false
          schema:
            type: boolean
        - name: customer_columns
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_realestates
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_segments
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: tags
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: auto_accept
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: created_at
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: custom_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: description
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: name
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: organization
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: periods_offset
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: sensor_specification
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: target_price_change_day_of_month
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: target_price_change_interval_days
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
      tags:
        - Pricegroup
        - Sensors
      summary: List 'Pricegroup'
    post:
      responses:
        '201':
          description: Successful bulk create/update
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.pricegroup'
        '400':
          $ref: '#/components/responses/invalid_list_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Pricegroup
        - Sensors
      summary: Bulk write 'Pricegroup'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/measurements.pricegroup'
  /measurements/sensors/sensor/list/:
    get:
      responses:
        '200':
          description: Successful query
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.sensor'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: _jsonl
          in: query
          required: false
          schema:
            type: boolean
        - name: _order_by
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          example: field_a,-field_b
        - name: _page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            description: >-
              **Additional Validation Information:**


              This value must be set together with the following fields:
              `_page_size`
        - name: _page_size
          in: query
          required: false
          schema:
            type: integer
            format: int32
            description: |-
              **Additional Validation Information:**

              This value must be set together with the following fields: `_page`
        - name: _search
          in: query
          required: false
          schema:
            type: string
        - name: _slim
          in: query
          required: false
          schema:
            type: boolean
        - name: _statistics
          in: query
          required: false
          schema:
            type: boolean
        - name: customer_columns
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_realestates
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: global_segments
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: tags
          in: query
          required: false
          schema:
            type: array
            items: {}
        - name: apartment
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: billing_enabled
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: brf_apartment
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: common_area
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: created_at
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: custom_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: description
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: external_id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: granularity
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: id
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: industrial_premises
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: metainfo
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: name
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: organization
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: output_mode
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `contains`, Supports negation (via `!`): `True`


            Operator: `endswith`, Supports negation (via `!`): `True`


            Operator: `icontains`, Supports negation (via `!`): `True`


            Operator: `iendswith`, Supports negation (via `!`): `True`


            Operator: `iexact`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `istartswith`, Supports negation (via `!`): `True`


            Operator: `startswith`, Supports negation (via `!`): `True`
        - name: parking_spot
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
        - name: source_type
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `gt`, Supports negation (via `!`): `True`


            Operator: `gte`, Supports negation (via `!`): `True`


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`


            Operator: `lt`, Supports negation (via `!`): `True`


            Operator: `lte`, Supports negation (via `!`): `True`
        - name: specification
          in: query
          required: false
          schema: {}
          description: >-
            Filter can be negated by adding a `!` to the end of the parameter
            name.






            **Additional operators:**


            Operator: `in`, Supports negation (via `!`): `True`


            Operator: `isnull`, Supports negation (via `!`): `True`
      tags:
        - Sensor
      summary: List 'Sensor'
    post:
      responses:
        '201':
          description: Successful bulk create/update
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/measurements.sensor'
        '400':
          $ref: '#/components/responses/invalid_list_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Sensor
      summary: Bulk write 'Sensor'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/measurements.sensor'
  /measurements/sensors/sensor/:
    post:
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.sensor'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters: []
      tags:
        - Sensor
      summary: Create 'Sensor'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.sensor'
  /measurements/sensors/sensor/{pk}/:
    get:
      responses:
        '200':
          description: Successful selection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.sensor'
        '400':
          $ref: '#/components/responses/bad_query'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Sensor
      summary: Get 'Sensor'
    delete:
      responses:
        '204':
          description: Successful deletion
        '400':
          $ref: '#/components/responses/invalid_object_state'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Sensor
      summary: Delete 'Sensor'
    patch:
      responses:
        '200':
          description: Successful update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/measurements.sensor'
        '400':
          $ref: '#/components/responses/invalid_object_payload'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/permission_denied'
        '429':
          $ref: '#/components/responses/rate_limit_exceeded'
      parameters:
        - name: pk
          in: path
          required: true
          schema:
            type: string
            writeOnly: true
      tags:
        - Sensor
      summary: Update 'Sensor'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/measurements.sensor'
components:
  securitySchemes:
    customer_id:
      type: apiKey
      in: header
      name: X-PIGELLO-CUSTOMER-ID
    application_id:
      type: apiKey
      in: header
      name: X-PIGELLO-APPLICATION-ID
    service_id:
      type: apiKey
      in: header
      name: X-PIGELLO-SERVICE-ID
    service_version_id:
      type: apiKey
      in: header
      name: X-PIGELLO-SERVICE-VERSION-ID
    client_ct:
      type: apiKey
      in: header
      name: X-PIGELLO-CLIENT-CT
    client_object_id:
      type: apiKey
      in: header
      name: X-PIGELLO-CLIENT-ENTITY
    client_secret:
      type: apiKey
      in: header
      name: X-PIGELLO-CLIENT-SECRET
  responses:
    not_found:
      description: Resource not found
    bad_query:
      description: Bad query/selection
    invalid_object_payload:
      description: Invalid payload
      content:
        application/json:
          schema: {}
    invalid_list_payload:
      description: Invalid payload
      content:
        application/json:
          schema:
            type: array
            items: {}
    invalid_object_state:
      description: Invalid state of object
      content:
        application/json:
          schema: {}
    permission_denied:
      description: Permission Denied
    unauthorized:
      description: Unauthorized
    rate_limit_exceeded:
      description: Rate limit exceeded
  schemas:
    measurements.sensorspecification:
      properties:
        billing_article:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Article
        customer_columns:
          readOnly: true
        custom_id:
          type: string
          maxLength: 128
          nullable: true
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
        name:
          type: string
          maxLength: 255
          nullable: false
        tags:
          readOnly: true
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
        unit_name:
          type: string
          maxLength: 64
          nullable: false
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        category:
          type: integer
          format: int32
          minimum: -2147483648
          maximum: 2147483647
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
          nullable: true
      type: object
      required:
        - name
        - id
        - unit_name
      description: 'Content Type: `measurements.sensorspecification`'
    measurements.measurementseries:
      properties:
        custom_id:
          type: string
          maxLength: 128
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        start_date:
          type: string
          format: date
          nullable: false
          readOnly: true
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
        sensor:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: false
          readOnly: true
          title: Sensor
        accepted:
          type: boolean
          nullable: false
        values:
          type: array
          items: {}
          nullable: false
          readOnly: true
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
        customer_columns:
          readOnly: true
        tags:
          readOnly: true
      type: object
      required:
        - start_date
        - sensor
        - accepted
        - values
        - id
      description: 'Content Type: `measurements.measurementseries`'
    measurements.priceitem:
      properties:
        tags:
          readOnly: true
        customer_columns:
          readOnly: true
        price_group:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: false
          title: Pricegroup
        custom_id:
          type: string
          maxLength: 128
          nullable: true
        unit_price:
          type: number
          format: float
          nullable: false
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        start_date:
          type: string
          format: date
          nullable: false
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
      type: object
      required:
        - price_group
        - unit_price
        - start_date
        - id
      description: 'Content Type: `measurements.priceitem`'
    measurements.pricegrouponlyenabledfor:
      properties:
        outdoor_area:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Outdoorarea
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `building`, `parking_lot`


            This field, or at least one of the following fields must be set:
            `building`, `parking_lot`
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        custom_id:
          type: string
          maxLength: 128
          nullable: true
        tags:
          readOnly: true
        parking_lot:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Parkinglot
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `building`, `outdoor_area`


            This field, or at least one of the following fields must be set:
            `building`, `outdoor_area`
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
        customer_columns:
          readOnly: true
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
        building:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Building
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `outdoor_area`, `parking_lot`


            This field, or at least one of the following fields must be set:
            `outdoor_area`, `parking_lot`
        price_group:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: false
          title: Pricegroup
      type: object
      required:
        - id
        - price_group
      description: 'Content Type: `measurements.pricegrouponlyenabledfor`'
    measurements.pricegroup:
      properties:
        custom_id:
          type: string
          maxLength: 128
          nullable: true
        name:
          type: string
          maxLength: 255
          nullable: false
        tags:
          readOnly: true
        auto_accept:
          type: boolean
          nullable: false
        description:
          type: string
          maxLength: 512
          nullable: true
        price_items:
          readOnly: true
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        customer_columns:
          readOnly: true
        sensor_specification:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Sensorspecification
        target_price_change_day_of_month:
          type: integer
          format: int32
          minimum: 1
          maximum: 31
          nullable: true
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `target_price_change_interval_days`
        periods_offset:
          type: integer
          format: int32
          minimum: 1
          maximum: 2147483647
          nullable: false
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
        target_price_change_interval_days:
          type: integer
          format: int32
          minimum: 1
          maximum: 2147483647
          nullable: true
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `target_price_change_day_of_month`
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
      type: object
      required:
        - name
        - id
      description: 'Content Type: `measurements.pricegroup`'
    measurements.sensor:
      properties:
        external_id:
          type: string
          maxLength: 255
          nullable: true
        customer_columns:
          readOnly: true
        billing_enabled:
          type: boolean
          nullable: false
        created_at:
          type: string
          format: date-time
          nullable: false
          readOnly: true
        common_area:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Commonarea
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `apartment`, `brf_apartment`, `industrial_premises`, `parking_spot`
        name:
          type: string
          maxLength: 255
          nullable: false
        specification:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Sensorspecification
        id:
          type: string
          format: uuid
          nullable: false
          readOnly: true
          description: |-
            **Additional Validation Information:**

            Must be unique
        parking_spot:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Parkingspot
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `apartment`, `brf_apartment`, `industrial_premises`, `common_area`
        apartment:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Apartment
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `brf_apartment`, `industrial_premises`, `parking_spot`,
            `common_area`
        custom_id:
          type: string
          maxLength: 128
          nullable: true
        granularity:
          type: string
          maxLength: 16
          enum:
            - d
            - h
          nullable: false
        organization:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Organization
        metainfo:
          type: string
          maxLength: 1024
          nullable: true
        source_type:
          type: integer
          format: int32
          minimum: -2147483648
          maximum: 2147483647
          enum:
            - 0
            - 1
            - 2
          nullable: true
        industrial_premises:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Industrialpremises
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `apartment`, `brf_apartment`, `parking_spot`, `common_area`
        tags:
          readOnly: true
        output_mode:
          type: string
          maxLength: 16
          enum:
            - d
            - c
          nullable: false
        description:
          type: string
          maxLength: 512
          nullable: true
        brf_apartment:
          type: object
          properties:
            id:
              type: string
              format: uuid
          nullable: true
          title: Brfapartment
          description: >-
            **Additional Validation Information:**


            This value can't bet set, when any of the following fields are set:
            `apartment`, `industrial_premises`, `parking_spot`, `common_area`
      type: object
      required:
        - billing_enabled
        - name
        - id
        - granularity
        - output_mode
      description: 'Content Type: `measurements.sensor`'
x-tagGroups:
  - name: Sensors
    tags:
      - Priceitem
      - Pricegroup
      - Sensorspecification
      - Pricegrouponlyenabledfor
info:
  title: Measurements
  version: 2.0.0
  description: The 'Measurements' application of the Core API
