---
openapi: 3.0.3
components:
  securitySchemes:
    APIKEY:
      type: apiKey
      description: Backend apiKey security schema
      name: APIKEY
      in: header
      scheme: APIKEY
  schemas:
    ApplicationId:
      type: object
      properties:
        application_id:
          type: string
    CommandDataLora:
      type: object
      properties:
        commandMagicNum:
          type: string
        ledOptions:
          $ref: "#/components/schemas/LedOptions"
        type:
          format: int32
          type: integer
    ConfigurationLora:
      type: object
      properties:
        baseInterval:
          format: int32
          type: integer
        transmissionMultiplier:
          format: int32
          type: integer
        sensorConfiguration:
          type: array
          items:
            $ref: "#/components/schemas/SensorConfigurationLora"
    DataPointLora:
      type: object
      properties:
        index:
          format: int64
          type: integer
        temperature:
          format: float
          type: number
        voltage:
          format: float
          type: number
        humidity:
          format: float
          type: number
        voltageDrop:
          format: float
          type: number
        temperatures:
          type: array
          items:
            format: float
            type: number
        socBatteries:
          type: array
          items:
            format: float
            type: number
        marker:
          $ref: "#/components/schemas/LoraMarker"
        markers:
          type: array
          items:
            $ref: "#/components/schemas/LoraMarker"
        lastMarker:
          $ref: "#/components/schemas/LoraMarker"
        timestamp:
          format: int64
          type: integer
        airCounterDownlink:
          format: int32
          type: integer
        airCounterUplink:
          format: int32
          type: integer
        event:
          $ref: "#/components/schemas/LoggerEventType"
        counter:
          format: int32
          type: integer
    DataRate:
      type: object
      properties:
        lora:
          $ref: "#/components/schemas/Lora"
    DecodedPayload:
      type: object
      properties:
        messageType:
          format: int32
          type: integer
        messageTypeText:
          type: string
        rawData:
          type: string
        configuration:
          $ref: "#/components/schemas/ConfigurationLora"
        range:
          $ref: "#/components/schemas/DownlinkEventMessageIndexRange"
        ranges:
          type: array
          items:
            $ref: "#/components/schemas/DownlinkEventMessageIndexRange"
        serverTime:
          format: int64
          type: integer
        ts:
          format: int64
          type: integer
        amount:
          format: int32
          type: integer
        commandData:
          $ref: "#/components/schemas/CommandDataLora"
        sensorData:
          type: array
          items:
            $ref: "#/components/schemas/SensorDataLora"
        eventData:
          type: array
          items:
            $ref: "#/components/schemas/EventDataLora"
        lastEvents:
          type: array
          items:
            $ref: "#/components/schemas/LastEventLora"
        fuotaChunkRequest:
          $ref: "#/components/schemas/LoraFuotaChunkRequestDto"
        fuotaStatusUpdate:
          $ref: "#/components/schemas/LoraFuotaStatusUpdateDto"
        fuotaChunkData:
          $ref: "#/components/schemas/LoraFuotaChunkPayloadDto"
        fuotaInitiationData:
          $ref: "#/components/schemas/LoraFuotaInitDto"
        requestData:
          $ref: "#/components/schemas/LoraInformationRequestData"
    DeviceType:
      enum:
      - SKYCELL
      - CARTASENSE_M
      - CARTASENSE
      - MR_810T
      - CL_BUTTERFLY
      - SKYCELL_SAVY_BLE
      - CL_TT_7100
      - MR_812P
      - MR_813
      - LIBERO_GL
      - MR_814
      - MR_815
      - CL_FRIGGA_V5_PLUS
      - MR_816
      - MR_811
      - SENSITECH
      - IV_TRACK_EVO
      type: string
    DownlinkEventMessageIndexRange:
      type: object
      properties:
        sensorType:
          format: int32
          type: integer
        startIndex:
          format: int32
          type: integer
        endIndex:
          format: int32
          type: integer
        timestamp:
          $ref: "#/components/schemas/LocalDateTime"
        event:
          type: boolean
    ElproData:
      type: object
      properties:
        timeStamp:
          $ref: "#/components/schemas/OffsetDateTime"
        typeName:
          type: string
        previousState:
          type: string
        newState:
          type: string
        historyType:
          type: string
        deviationType:
          type: string
        reason:
          type: string
        value:
          format: double
          type: number
        latitude:
          format: double
          type: number
        longitude:
          format: double
          type: number
        accuracy:
          format: int32
          type: integer
        unit:
          type: string
        unitType:
          type: string
        deviceId:
          type: string
        sensorId:
          type: string
    ElproMessage:
      type: object
      properties:
        type:
          type: string
        data:
          $ref: "#/components/schemas/ElproData"
    EndDeviceId:
      type: object
      properties:
        device_id:
          type: string
        application_ids:
          $ref: "#/components/schemas/ApplicationId"
        dev_eui:
          type: string
        join_eui:
          type: string
        dev_addr:
          type: string
    ErrorDto:
      type: object
      properties:
        status:
          format: int32
          type: integer
        errors:
          type: array
          items:
            $ref: "#/components/schemas/ErrorInfo"
    ErrorInfo:
      type: object
      properties:
        message:
          type: string
        messageDetails:
          type: string
        field:
          type: string
        fields:
          type: array
          items:
            type: string
        code:
          $ref: "#/components/schemas/SkycellErrorCode"
        traceId:
          type: string
    EventDataLora:
      type: object
      properties:
        amount:
          format: int32
          type: integer
        isLogged:
          format: int32
          type: integer
        transmitTime:
          format: int64
          type: integer
        type:
          format: int32
          type: integer
        typeText:
          type: string
        eventPoints:
          type: array
          items:
            $ref: "#/components/schemas/DataPointLora"
    FriggaDataDto:
      type: object
      properties:
        time:
          format: int64
          type: integer
        lbstime:
          format: int64
          type: integer
        t:
          format: int32
          type: integer
        h:
          format: int32
          type: integer
        vol:
          format: int32
          type: integer
        batteryVoltage:
          format: int32
          type: integer
        lnglat:
          type: string
        batteryState:
          format: int32
          type: integer
        temperature:
          format: int32
          type: integer
        humidity:
          format: int32
          type: integer
        light:
          format: float
          type: number
        shock:
          format: float
          type: number
        acceleration:
          $ref: "#/components/schemas/FriggaDirectionalDto"
        tilt:
          $ref: "#/components/schemas/FriggaDirectionalDto"
        src:
          format: int32
          type: integer
    FriggaDirectionalDto:
      type: object
      properties:
        x:
          format: int32
          type: integer
        "y":
          format: int32
          type: integer
        z:
          format: int32
          type: integer
    FriggaEventBodyDto:
      type: object
      properties:
        type:
          type: string
        details:
          $ref: "#/components/schemas/FriggaEventDetailsDto"
    FriggaEventConfigurationDto:
      type: object
      properties:
        configUpdatedAt:
          $ref: "#/components/schemas/LocalDateTime"
        bleUpdatedAt:
          $ref: "#/components/schemas/LocalDateTime"
        bleMode:
          format: int32
          type: integer
        reportingInterval:
          format: int32
          type: integer
    FriggaEventDetailsDto:
      type: object
      properties:
        time:
          $ref: "#/components/schemas/LocalDateTime"
    FriggaEventMessageDto:
      type: object
      properties:
        loggerNumber:
          type: string
        event:
          $ref: "#/components/schemas/FriggaEventBodyDto"
        configuration:
          $ref: "#/components/schemas/FriggaEventConfigurationDto"
    FriggaMessageDto:
      type: object
      properties:
        deviceId:
          type: string
        type:
          format: int16
          type: integer
        uid:
          type: string
        data:
          type: array
          items:
            $ref: "#/components/schemas/FriggaDataDto"
    FriggaResponseEventDto:
      type: object
      properties:
        events:
          type: array
          items:
            $ref: "#/components/schemas/FriggaEventMessageDto"
    GatewayId:
      type: object
      properties:
        gateway_id:
          type: string
        eui:
          type: string
        gatewayType:
          $ref: "#/components/schemas/GatewayType"
    GatewayType:
      enum:
      - LORA_MIROMICO
      - SKY_READER
      - FRIGGA
      - INVIRTUS
      type: string
    InvirtusAxes:
      type: object
      properties:
        x:
          format: int32
          type: integer
        "y":
          format: int32
          type: integer
        z:
          format: int32
          type: integer
    InvirtusData:
      type: object
      properties:
        batteryMv:
          format: int32
          type: integer
        batteryRemainingPct:
          format: int32
          type: integer
        temperature:
          format: int32
          type: integer
        latitude:
          format: double
          type: number
        longitude:
          format: double
          type: number
        locationSource:
          type: string
        alertType:
          type: string
        state:
          type: string
        shock:
          format: int32
          type: integer
        flightDurationMin:
          format: int32
          type: integer
        downlinkId:
          format: int32
          type: integer
        downlinkHeader:
          format: int32
          type: integer
        index:
          format: int32
          type: integer
        minValue:
          format: int32
          type: integer
        maxValue:
          format: int32
          type: integer
        errorValue:
          format: int32
          type: integer
        acceleration:
          $ref: "#/components/schemas/InvirtusAxes"
        tilt:
          $ref: "#/components/schemas/InvirtusAxes"
    InvirtusMessage:
      type: object
      properties:
        loggerNumber:
          type: string
        receivedAt:
          $ref: "#/components/schemas/LocalDateTime"
        frameType:
          type: string
        isEvent:
          type: boolean
        data:
          type: array
          items:
            $ref: "#/components/schemas/InvirtusData"
        originMetadata:
          $ref: "#/components/schemas/InvirtusOriginMetadata"
    InvirtusOriginMetadata:
      type: object
      properties:
        iccid:
          type: string
        deviceType:
          type: string
        network:
          type: string
        timeToSearchNetworkS:
          format: int32
          type: integer
        hardwareVersion:
          format: int32
          type: integer
        firmwareVersion:
          format: int32
          type: integer
        trackerMode:
          type: string
        gnssCount:
          format: int32
          type: integer
        flightCount:
          format: int32
          type: integer
        sensorAvailable:
          $ref: "#/components/schemas/InvirtusSensorAvailable"
    InvirtusSensorAvailable:
      type: object
      properties:
        airplaneSensor:
          type: boolean
        bme280:
          type: boolean
        bme688:
          type: boolean
    LastEventLora:
      type: object
      properties:
        lastIndex:
          format: int64
          type: integer
        transmitTime:
          format: int64
          type: integer
        isLogged:
          format: int32
          type: integer
        type:
          format: int32
          type: integer
        typeText:
          type: string
    LedOptions:
      type: object
      properties:
        blinkTimeOn:
          format: int32
          type: integer
        color:
          type: string
        duration:
          format: int32
          type: integer
        frequency:
          format: int32
          type: integer
    LocalDateTime:
      format: date-time
      type: string
      example: 2022-03-10T12:15:50
    Location:
      type: object
      properties:
        user:
          $ref: "#/components/schemas/LocationUser"
    LocationUser:
      type: object
      properties:
        latitude:
          format: double
          type: number
        longitude:
          format: double
          type: number
        altitude:
          format: int64
          type: integer
        source:
          type: string
    LoggerEventType:
      enum:
      - OPEN
      - CLOSED
      - PRESSED
      - UNKNOWN
      - START
      - STOP
      type: string
    LoggerStatus:
      enum:
      - CREATED
      - NOT_READY
      - READY
      - ACTIVE
      - OFFLINE
      - STAND_BY
      - FIRMWARE_UPDATE_IN_PROGRESS
      type: string
    Lora:
      type: object
      properties:
        bandwidth:
          format: int64
          type: integer
        spreading_factor:
          format: int32
          type: integer
    LoraConfigurationDto:
      required:
      - loggerNumber
      type: object
      properties:
        id:
          type: string
        createdOn:
          $ref: "#/components/schemas/LocalDateTime"
        loggerNumber:
          type: string
        loggerStatus:
          $ref: "#/components/schemas/LoggerStatus"
        loggerType:
          $ref: "#/components/schemas/DeviceType"
        firmwareVersion:
          type: string
        hardwareVersion:
          type: string
        baseInterval:
          format: int32
          type: integer
        lastStatusChangedOn:
          $ref: "#/components/schemas/LocalDateTime"
        lastActivationOn:
          $ref: "#/components/schemas/LocalDateTime"
        configuration:
          $ref: "#/components/schemas/ConfigurationLora"
        historicReadoutDisabled:
          type: boolean
        historicReadoutRealTimeEnabled:
          type: boolean
        lastMessageIdBySensorCode:
          type: object
          additionalProperties:
            format: int64
            type: integer
        lastMeasuredTimeBySensorCode:
          type: object
          additionalProperties:
            format: date-time
            type: string
            example: 2022-03-10T12:15:50
        lastValueBySensorCodeAndDataType:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              format: double
              type: number
        lastEventMessageIdBySensorCode:
          type: object
          additionalProperties:
            format: int64
            type: integer
        lastEventTransmitTimeIdBySensorCode:
          type: object
          additionalProperties:
            format: int64
            type: integer
        lastLoggerStatusChangedInDays:
          format: double
          type: number
        lastLoggerActivationInDays:
          format: double
          type: number
    LoraFuotaChunkPayloadDto:
      type: object
      properties:
        chunkId:
          format: int32
          type: integer
        chunkSizeInBytes:
          format: int32
          type: integer
        payload:
          type: string
    LoraFuotaChunkRequestDto:
      type: object
      properties:
        chunkStart:
          format: int32
          type: integer
        chunkEnd:
          format: int32
          type: integer
    LoraFuotaInitDto:
      type: object
      properties:
        newFirmwareVersion:
          type: string
        size:
          format: int64
          type: integer
        chunksAmount:
          format: int32
          type: integer
        chunkSize:
          format: int32
          type: integer
        crcPatch:
          format: int64
          type: integer
        crcApplication:
          format: int64
          type: integer
    LoraFuotaStatus:
      enum:
      - PENDING
      - IN_PROGRESS
      - FAILED
      - CANCELLED
      - COMPLETED
      type: string
    LoraFuotaStatusCode:
      enum:
      - DISTRIBUTION_IN_PROGRESS
      - DISTRIBUTION_COMPLETED
      - UPDATE_COMPLETED
      - DENIED_LOW_MEMORY
      - DISTRIBUTION_FAILED_INVALID_PATCH_CRC
      - DISTRIBUTION_FAILED_TIMEOUT
      - UPDATE_FAILED_APPLICATION_TOO_LARGE
      - UPDATE_FAILED_PATCH_FILE_ERROR
      - UPDATE_FAILED_INPLACE_PATCH_LIMIT
      - UPDATE_FAILED_INVALID_APPLICATION_CRC
      - CANCELLED
      - UNKNOWN
      type: string
    LoraFuotaStatusUpdateDto:
      type: object
      properties:
        newFirmwareVersion:
          type: string
        status:
          $ref: "#/components/schemas/LoraFuotaStatus"
        code:
          $ref: "#/components/schemas/LoraFuotaStatusCode"
    LoraInformationRequestData:
      type: object
      properties:
        type:
          format: int32
          type: integer
    LoraMarker:
      enum:
      - INVALID
      - START_UP
      - SHELF_MODE
      - FIRMWARE_UPDATE
      - INTERVAL_RECONFIGURED
      - SENSOR_DEFECTIVE
      - LOG_MEMORY_RE_INIT
      - UNKNOWN
      - SOC_BATTERY_ISSUE
      type: string
    LoraRawMessageResponseDataDto:
      type: object
      properties:
        loggerNumber:
          type: string
        measuredTime:
          $ref: "#/components/schemas/LocalDateTime"
        message:
          $ref: "#/components/schemas/LoraUplinkMessage"
    LoraRawMessageResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: "#/components/schemas/LoraRawMessageResponseDataDto"
        error:
          $ref: "#/components/schemas/ErrorDto"
    LoraUplinkMessage:
      type: object
      properties:
        end_device_ids:
          $ref: "#/components/schemas/EndDeviceId"
        correlation_ids:
          type: array
          items:
            type: string
        received_at:
          $ref: "#/components/schemas/LocalDateTime"
        uplink_message:
          $ref: "#/components/schemas/UplinkMessageBody"
        simulated:
          type: boolean
    LoraUplinkRawMessage:
      type: object
      properties:
        origin:
          type: string
        loggerNumber:
          type: string
        originMetadata:
          $ref: "#/components/schemas/LoraUplinkRawMessageMetadata"
        data:
          type: array
          items:
            $ref: "#/components/schemas/LoraUplinkRawMessageData"
        gatewayNumber:
          type: string
        rssi:
          format: int32
          type: integer
        deviceName:
          type: string
        payload:
          type: string
        receivedAt:
          $ref: "#/components/schemas/LocalDateTime"
    LoraUplinkRawMessageData:
      type: object
      properties:
        gatewayNumber:
          type: string
        rssi:
          format: int32
          type: integer
        deviceName:
          type: string
        payload:
          type: string
        receivedAt:
          $ref: "#/components/schemas/LocalDateTime"
        originMetadata:
          $ref: "#/components/schemas/LoraUplinkRawMessageMetadata"
    LoraUplinkRawMessageMetadata:
      type: object
      properties:
        loggerNumber:
          type: string
        bindTime:
          format: int64
          type: integer
    OffsetDateTime:
      format: date-time
      type: string
      example: 2022-03-10T12:15:50-04:00
    RxMetadata:
      type: object
      properties:
        gateway_ids:
          $ref: "#/components/schemas/GatewayId"
        timestamp:
          format: int64
          type: integer
        ts:
          format: int64
          type: integer
        rssi:
          format: int32
          type: integer
        channel_rssi:
          format: int32
          type: integer
        snr:
          format: int32
          type: integer
        frequency_offset:
          type: string
        uplink_token:
          type: string
        channel_index:
          format: int32
          type: integer
        location: {}
        gatewayNumber:
          type: string
    SensorConfigurationLora:
      type: object
      properties:
        measurementMultiplier:
          format: int32
          type: integer
        type:
          format: int32
          type: integer
        typeText:
          type: string
    SensorDataLora:
      type: object
      properties:
        amount:
          format: int32
          type: integer
        isLogged:
          format: int32
          type: integer
        type:
          format: int32
          type: integer
        typeText:
          type: string
        dataPoints:
          type: array
          items:
            $ref: "#/components/schemas/DataPointLora"
    Setting:
      type: object
      properties:
        data_rate:
          $ref: "#/components/schemas/DataRate"
        coding_rate:
          type: string
        frequency:
          type: string
        timestamp:
          format: int64
          type: integer
        time:
          type: string
    SkycellErrorCode:
      enum:
      - DDA_0001
      - DDA_0002
      - DDA_0003
      - DDA_0004
      - DDA_0005
      - DDA_0006
      - DDA_0007
      - DDA_0008
      - DDA_0009
      - DDA_0010
      - DDA_0011
      - DDA_0012
      - DDA_0013
      - DDA_0015
      - DDA_0014
      - DDA_0016
      - DDA_0017
      - DDI_0001
      - DDI_0002
      - DDI_0003
      - DDI_0004
      - DDI_0005
      - DDI_0006
      - DDI_0007
      - DDI_0008
      - DDI_0009
      - DDI_0010
      - DDI_0011
      - DDI_0012
      - DDI_0013
      - DDI_0014
      - DDD_0001
      type: string
    TiveAccelerometer:
      type: object
      properties:
        g:
          format: double
          type: number
        x:
          format: double
          type: number
        "y":
          format: double
          type: number
        z:
          format: double
          type: number
    TiveAddress:
      type: object
      properties:
        street:
          type: string
        sublocality:
          type: string
        locality:
          type: string
        state:
          type: string
        country:
          type: string
        zipCode:
          type: string
    TiveBattery:
      type: object
      properties:
        percentage:
          format: double
          type: number
    TiveCellular:
      type: object
      properties:
        signalStrength:
          type: string
        dbm:
          format: double
          type: number
    TiveHumidity:
      type: object
      properties:
        percentage:
          format: double
          type: number
    TiveLight:
      type: object
      properties:
        lux:
          format: double
          type: number
    TiveLocation:
      type: object
      properties:
        latitude:
          format: double
          type: number
        longitude:
          format: double
          type: number
        formattedAddress:
          type: string
    TiveLocationDetails:
      type: object
      properties:
        name:
          type: string
        latitude:
          format: double
          type: number
        longitude:
          format: double
          type: number
        formattedAddress:
          type: string
        address:
          $ref: "#/components/schemas/TiveAddress"
        locationMethod:
          type: string
        accuracy:
          format: double
          type: number
    TiveMessage:
      type: object
      properties:
        entityName:
          type: string
        deviceId:
          type: string
        deviceName:
          type: string
        entryTimeEpoch:
          format: int64
          type: integer
        entryTimeUtc:
          $ref: "#/components/schemas/LocalDateTime"
        location:
          $ref: "#/components/schemas/TiveLocation"
        temperature:
          $ref: "#/components/schemas/TiveTemperature"
        probeTemperature:
          $ref: "#/components/schemas/TiveProbeTemperature"
        pressure:
          $ref: "#/components/schemas/TivePressure"
        humidity:
          $ref: "#/components/schemas/TiveHumidity"
        accelerometer:
          $ref: "#/components/schemas/TiveAccelerometer"
        battery:
          $ref: "#/components/schemas/TiveBattery"
        cellular:
          $ref: "#/components/schemas/TiveCellular"
        weather:
          $ref: "#/components/schemas/TiveWeather"
        light:
          $ref: "#/components/schemas/TiveLight"
        minLight:
          $ref: "#/components/schemas/TiveLight"
        maxLight:
          $ref: "#/components/schemas/TiveLight"
        shock:
          $ref: "#/components/schemas/TiveShock"
        shockTime:
          $ref: "#/components/schemas/LocalDateTime"
        shipment:
          $ref: "#/components/schemas/TiveShipment"
        accountId:
          format: int32
          type: integer
        shipmentId:
          type: string
        publicShipmentId:
          type: string
    TivePressure:
      type: object
      properties:
        psi:
          format: double
          type: number
        atmospheric:
          format: double
          type: number
    TiveProbeTemperature:
      type: object
      properties:
        celsius:
          format: double
          type: number
        fahrenheit:
          format: double
          type: number
    TiveShipment:
      type: object
      properties:
        id:
          type: string
        description:
          type: string
        webhookIds:
          type: array
          items:
            type: string
        deviceId:
          type: string
        deviceIds:
          type: array
          items:
            type: string
        autoComplete:
          type: boolean
        shipFromDate:
          type: string
        shipFrom:
          $ref: "#/components/schemas/TiveLocationDetails"
        shipTo:
          $ref: "#/components/schemas/TiveLocationDetails"
        customFields:
          type: array
          items: {}
        createdByUserId:
          type: string
        createdDate:
          type: string
        updatedDate:
          type: string
        updatedByUserId:
          type: string
        alertProfileIds:
          type: array
          items:
            type: string
        autoCompleteHoursDelay:
          format: int32
          type: integer
        meanKineticTemperature:
          format: double
          type: number
        standardDeviation:
          format: double
          type: number
        degreeMinutes:
          format: double
          type: number
        sharedUrl:
          type: string
        carrier:
          type: string
        containerId:
          type: string
    TiveShock:
      type: object
      properties:
        g:
          format: double
          type: number
        x:
          format: double
          type: number
        "y":
          format: double
          type: number
        z:
          format: double
          type: number
    TiveTemperature:
      type: object
      properties:
        celsius:
          format: double
          type: number
        fahrenheit:
          format: double
          type: number
    TiveWeather:
      type: object
      properties:
        temperature:
          $ref: "#/components/schemas/TiveTemperature"
        wind: {}
    UplinkMessageBody:
      type: object
      properties:
        session_key_id:
          type: string
        f_cnt:
          format: int32
          type: integer
        f_port:
          format: int32
          type: integer
        frm_payload:
          type: string
        decoded_payload:
          $ref: "#/components/schemas/DecodedPayload"
        rx_metadata:
          type: array
          items:
            $ref: "#/components/schemas/RxMetadata"
        settings:
          $ref: "#/components/schemas/Setting"
        received_at:
          $ref: "#/components/schemas/LocalDateTime"
        confirmed:
          type: boolean
        consumed_airtime:
          type: string
        locations:
          $ref: "#/components/schemas/Location"
        network_ids: {}
        simulated:
          type: boolean
tags:
- name: Blob Storage Config
- name: Check if lora endpoint is alive
- name: Database API
- name: Database Config
- name: Elpro SensorData
- name: Frigga
- name: Invirtus Data
- name: Lora Configuration
- name: Lora Exceptions
- name: Lora SensorData
- name: Tive SensorData
paths:
  /v1/database/blob-storage-disabled:
    patch:
      summary: Set blob storage disabled flag
      tags:
      - Blob Storage Config
      parameters:
      - description: "If true, blob storage will be disabled"
        required: true
        name: isDisabled
        in: query
        schema:
          default: false
          type: boolean
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
    get:
      summary: Check if blob storage is disabled
      tags:
      - Blob Storage Config
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
  /v1/database/status:
    get:
      summary: Read status
      tags:
      - Database Config
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
  /v1/database/use-async:
    get:
      summary: Database set asynchronous method
      tags:
      - Database Config
      parameters:
      - description: "If true, the database will use asynchronous calls for data ingestion"
        name: useAsync
        in: query
        schema:
          default: false
          type: boolean
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
  /v1/elpro/push:
    post:
      summary: Elpro Sensor Data
      tags:
      - Elpro SensorData
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ElproMessage"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
      security:
      - APIKEY: []
  /v1/frigga/bind:
    post:
      summary: Frigga Bind
      tags:
      - Frigga
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - Authorization: []
  /v1/frigga/event:
    post:
      summary: Frigga Event Message Creation
      tags:
      - Frigga
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/FriggaEventMessageDto"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
      security:
      - Authorization: []
  /v1/frigga/push:
    post:
      summary: Frigga Event Message Creation
      tags:
      - Frigga
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/FriggaMessageDto"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
      security:
      - Authorization: []
  /v1/frigga/{loggerNumber}/event:
    get:
      summary: Frigga Event Message Read
      tags:
      - Frigga
      parameters:
      - name: loggerNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/FriggaResponseEventDto"
      security:
      - Authorization: []
  /v1/invirtus/event:
    post:
      summary: Invirtus Message Event Dto
      deprecated: true
      tags:
      - Invirtus Data
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InvirtusMessage"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
      security:
      - APIKEY: []
  /v1/invirtus/push:
    post:
      summary: Invirtus Message Data Dto
      deprecated: true
      tags:
      - Invirtus Data
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/InvirtusMessage"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
      security:
      - APIKEY: []
  /v1/lora/alive:
    get:
      summary: Lora Uplink Recover Missing
      tags:
      - Check if lora endpoint is alive
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
      - APIKEY: []
  /v1/lora/configuration/{loggerNumber}:
    get:
      summary: Lora Find Configuration
      deprecated: true
      tags:
      - Lora Configuration
      parameters:
      - name: loggerNumber
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LoraConfigurationDto"
      security:
      - APIKEY: []
      - APIKEY: []
  /v1/lora/exceptions:
    get:
      summary: Lora Exceptions
      tags:
      - Lora Exceptions
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
      - APIKEY: []
  /v1/lora/uplink:
    post:
      summary: Lora Uplink Message Creation
      tags:
      - Lora SensorData
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LoraUplinkMessage"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
      security:
      - APIKEY: []
      - APIKEY: []
  /v1/lora/uplink/raw:
    post:
      summary: Lora Raw Uplink Message Creation
      tags:
      - Lora SensorData
      parameters:
      - name: returnConverted
        in: query
        schema:
          default: false
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LoraUplinkRawMessage"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LoraRawMessageResponseDto"
        "400":
          description: Bad Request
      security:
      - APIKEY: []
      - APIKEY: []
  /v1/lora/uplink/raw/bind:
    post:
      summary: Lora Raw Uplink Message Bind
      tags:
      - Lora SensorData
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
      - APIKEY: []
  /v1/tive/push:
    post:
      summary: Tive Message Creation
      tags:
      - Tive SensorData
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
      security:
      - APIKEY: []
  /v1/tive/push/dto:
    post:
      summary: Tive Message Creation Dto
      deprecated: true
      tags:
      - Tive SensorData
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TiveMessage"
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema: {}
        "400":
          description: Bad Request
      security:
      - APIKEY: []
info:
  title: device-data-ingestion API
  version: 1.0.0-SNAPSHOT
