{
  "openapi" : "3.1.0",
  "info" : {
    "description" : "This API allows data ingestion into Trackunit platform.",
    "title" : "Data Ingestion",
    "version" : "1.0"
  },
  "externalDocs" : {
    "description" : "Trackunit Developer Hub",
    "url" : "https://developers.trackunit.com/"
  },
  "servers" : [ {
    "url" : "https://iris.trackunit.com/api/data-ingestion",
    "description" : "Production"
  } ],
  "security" : [ {
    "authorizationBearer" : [ ]
  } ],
  "paths" : {
    "/v1beta1/devices/ingestions" : {
      "post" : {
        "description" : "This API request can be used to ingest telematics devices data into the Trackunit platform.\n\nThe endpoint supports GZIP compression. To send compressed data, include the\n`Content-Encoding: gzip` header with your request.\n",
        "operationId" : "devicesDataIngestion",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "encoding" : {
                "devicesIngestionRequest" : {
                  "contentType" : "application/json",
                  "headers" : {
                    "Content-Encoding" : {
                      "description" : "Indicates the compression encoding of the request body",
                      "schema" : {
                        "enum" : [ "gzip" ]
                      },
                      "style" : "simple"
                    }
                  }
                }
              },
              "schema" : {
                "$ref" : "#/components/schemas/DevicesIngestionRequest_v1beta1"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DevicesIngestionResponse_v1beta1"
                }
              }
            },
            "description" : "All telematics devices datapoints were accepted for processing."
          },
          "207" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DevicesIngestionResponse_v1beta1"
                }
              }
            },
            "description" : "Telematics devices datapoints were partially accepted for processing."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Telematics devices data ingest",
        "tags" : [ "Devices v1beta1" ]
      }
    },
    "/v1beta2/assets/ingestions" : {
      "post" : {
        "description" : "This API request can be used to ingest assets data into the Trackunit platform.\nData can be provided as Machine Insights, Location or Advanced Sensors.\n\nThe endpoint supports GZIP compression. To send compressed data, include the\n`Content-Encoding: gzip` header with your request.\n",
        "operationId" : "dataIngestion",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "encoding" : {
                "dataIngestionRequest" : {
                  "contentType" : "application/json",
                  "headers" : {
                    "Content-Encoding" : {
                      "description" : "Indicates the compression encoding of the request body",
                      "schema" : {
                        "enum" : [ "gzip" ]
                      },
                      "style" : "simple"
                    }
                  }
                }
              },
              "schema" : {
                "$ref" : "#/components/schemas/AssetsIngestionRequest_v1beta2"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetsIngestionResponse_v1beta2"
                }
              }
            },
            "description" : "All Assets datapoints were accepted for processing."
          },
          "207" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetsIngestionResponse_v1beta2"
                }
              }
            },
            "description" : "Assets datapoints were partially accepted for processing."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Assets data ingest",
        "tags" : [ "Assets v1beta2" ]
      }
    },
    "/v1beta2/assets/ingestions/{ingestionId}" : {
      "get" : {
        "description" : "Retrieves the status of a specific data ingestion by its ID.\n\nUse the `detailed` parameter to include information about each asset\nthat was part of the ingestion batch.\n\nNote: Ingestion history is retained for 7 days.\n",
        "operationId" : "getIngestionStatus",
        "parameters" : [ {
          "in" : "path",
          "name" : "ingestionId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "in" : "query",
          "name" : "detailed",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AssetIngestionStatusResponse_v1beta2"
                }
              }
            },
            "description" : "Ingestion status retrieved successfully. Returns basic status information when detailed=false, or includes per-asset ingestion details when detailed=true."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Get ingestion status",
        "tags" : [ "Assets v1beta2" ]
      }
    },
    "/v1beta2/assets/{assetId}/ingestions" : {
      "get" : {
        "description" : "Retrieves the ingestion history for a specific asset.\n\nReturns a list of all ingestions that included data for the specified asset,\nallowing you to track the processing status of asset data over time.\n\nUse the `detailed` parameter to include information about each asset\nthat was part of the ingestion batch.\n\nNote: Ingestion history is retained for 7 days.\n",
        "operationId" : "getAssetIngestionsStatus",
        "parameters" : [ {
          "in" : "path",
          "name" : "assetId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "in" : "query",
          "name" : "detailed",
          "required" : false,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "*/*" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AssetIngestionAssetStatusResponse_v1beta2"
                  }
                }
              }
            },
            "description" : "Asset ingestion history retrieved successfully. Returns a list of ingestions associated with the asset. Returns basic status information when detailed=false, or includes per-asset ingestion details when detailed=true."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Get asset ingestions history",
        "tags" : [ "Assets v1beta2" ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "AdvancedSensor_v1beta2" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Datapoint_v1beta2"
        }, {
          "type" : "object",
          "properties" : {
            "datetime" : {
              "type" : "string",
              "format" : "date-time",
              "description" : "ISO 8601 date-time when advanced sensor was measured"
            },
            "sensorId" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "ID of the advanced sensor in Trackunit Iris Platform"
            },
            "value" : {
              "type" : "string",
              "description" : "Advanced sensor value"
            }
          }
        } ]
      },
      "AssetData_v1beta2" : {
        "type" : "object",
        "properties" : {
          "datapoints" : {
            "type" : "array",
            "description" : "List of datapoints that are to be ingested by Trackunit platform",
            "items" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/AdvancedSensor_v1beta2"
              }, {
                "$ref" : "#/components/schemas/FaultCode_v1beta2"
              }, {
                "$ref" : "#/components/schemas/Location_v1beta2"
              }, {
                "$ref" : "#/components/schemas/MachineInsight_v1beta2"
              } ]
            }
          },
          "metadata" : {
            "$ref" : "#/components/schemas/Metadata_v1beta2",
            "description" : "Asset's metadata, which identifies the asset"
          }
        }
      },
      "AssetIngestionAssetStatusResponse_v1beta2" : {
        "type" : "object",
        "properties" : {
          "assetId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "completedDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "ingestionId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "invalidDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "modifiedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "processingResults" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AssetStatusProcessingResult_v1beta2"
            }
          },
          "status" : {
            "type" : "string"
          },
          "totalDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "AssetIngestionStatusResponse_v1beta2" : {
        "type" : "object",
        "properties" : {
          "assets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AssetIngestionAssetStatusResponse_v1beta2"
            },
            "uniqueItems" : true
          },
          "completedDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "ingestionId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "invalidDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "modifiedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "status" : {
            "type" : "string"
          },
          "totalDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "validationErrors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Violation_v1beta2"
            }
          }
        }
      },
      "AssetStatusProcessingResult_v1beta2" : {
        "type" : "object",
        "properties" : {
          "createdAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "datapoint" : {
            "type" : "string"
          },
          "numberOfDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "reason" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          }
        }
      },
      "AssetsIngestionRequest_v1beta2" : {
        "type" : "object",
        "properties" : {
          "assetData" : {
            "type" : "array",
            "description" : "List of assets' data that should be ingested by Trackunit platform",
            "items" : {
              "$ref" : "#/components/schemas/AssetData_v1beta2"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          }
        },
        "required" : [ "assetData" ]
      },
      "AssetsIngestionResponse_v1beta2" : {
        "type" : "object",
        "properties" : {
          "acceptedDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "code" : {
            "type" : "string"
          },
          "ingestionId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "rejectedDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "submittedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "totalDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "violations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Violation_v1beta2"
            }
          }
        }
      },
      "ConstraintViolationError" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : [ "string", "null" ],
            "description" : "Alphanumeric code (snake case) describing use case specific error"
          },
          "message" : {
            "type" : "string",
            "description" : "Detailed description of error"
          },
          "properties" : {
            "type" : [ "object", "null" ],
            "additionalProperties" : { },
            "description" : "Additional properties to be included in the error response"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "HTTP status code"
          },
          "violations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Violation"
            }
          }
        }
      },
      "Datapoint_v1beta2" : {
        "discriminator" : {
          "mapping" : {
            "AdvancedSensor" : "#/components/schemas/AdvancedSensor_v1beta2",
            "FaultCode" : "#/components/schemas/FaultCode_v1beta2",
            "Location" : "#/components/schemas/Location_v1beta2",
            "MachineInsight" : "#/components/schemas/MachineInsight_v1beta2"
          },
          "propertyName" : "type"
        },
        "properties" : {
          "type" : {
            "type" : "string"
          }
        },
        "required" : [ "type" ]
      },
      "DefaultError" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : [ "string", "null" ],
            "description" : "Alphanumeric code (snake case) describing use case specific error"
          },
          "message" : {
            "type" : "string",
            "description" : "Detailed description of error"
          },
          "properties" : {
            "type" : [ "object", "null" ],
            "additionalProperties" : { },
            "description" : "Additional properties to be included in the error response"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "HTTP status code"
          }
        }
      },
      "DeviceDatapointItem_v1beta1" : {
        "discriminator" : {
          "mapping" : {
            "Datapoint" : "#/components/schemas/DeviceDatapoint_v1beta1",
            "Location" : "#/components/schemas/DeviceLocation_v1beta1"
          },
          "propertyName" : "type"
        },
        "properties" : {
          "type" : {
            "type" : "string"
          }
        },
        "required" : [ "type" ]
      },
      "DeviceDatapointType_v1beta1" : {
        "type" : "string",
        "enum" : [ "BatteryVoltage", "ExternalPowerVoltage", "BatteryStateOfChargePercent", "IsBatteryCharging", "NumberOfGpsSatellites", "GpsSignalQuality" ]
      },
      "DeviceDatapoint_v1beta1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/DeviceDatapointItem_v1beta1"
        }, {
          "type" : "object",
          "properties" : {
            "datapointType" : {
              "$ref" : "#/components/schemas/DeviceDatapointType_v1beta1",
              "description" : "Type of the telematics device datapoint\n\n| Datapoint type | Description |\n|---|---|\n| BatteryVoltage | Battery voltage (V). Type: double, example: '12.34' |\n| ExternalPowerVoltage | External power supply voltage (V). Type: double, example: '24.68' |\n| BatteryStateOfChargePercent | Battery state of charge (%). Type: double, example: '34.5' |\n| IsBatteryCharging | Whether the internal battery is charging. Type: boolean, example: 'true' or 'false' |\n| NumberOfGpsSatellites | Number of connected GPS satellites. Type: integer, example: '12' |\n| GpsSignalQuality | GPS signal quality, Type: integer, example: '3' |"
            },
            "datetime" : {
              "type" : "string",
              "format" : "date-time",
              "description" : "ISO 8601 date-time when telematics device datapoint was measured"
            },
            "value" : {
              "type" : "string",
              "description" : "Value of the telematics device datapoint, provided as a string. Interpreted as a decimal number, integer, or boolean depending on the datapoint type. Use a dot (.) as the decimal separator, no thousands separators; booleans must be 'true' or 'false'. Examples: '12.34', '12', 'true'."
            }
          }
        } ]
      },
      "DeviceLocation_v1beta1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/DeviceDatapointItem_v1beta1"
        }, {
          "type" : "object",
          "properties" : {
            "accuracyRadius" : {
              "type" : "number",
              "format" : "double",
              "description" : "Accuracy of the location defined as a radius in meters"
            },
            "datetime" : {
              "type" : "string",
              "format" : "date-time",
              "description" : "ISO 8601 date-time when location was measured"
            },
            "latitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "Latitude of the telematics device"
            },
            "longitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "Longitude of the telematics device"
            }
          }
        } ]
      },
      "DeviceViolation_v1beta1" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string"
          },
          "field" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          },
          "telematicsDeviceId" : {
            "type" : "string"
          }
        }
      },
      "DevicesIngestionRequest_v1beta1" : {
        "type" : "object",
        "properties" : {
          "telematicsDeviceData" : {
            "type" : "array",
            "description" : "List of telematics devices' data that should be ingested by Trackunit platform",
            "items" : {
              "$ref" : "#/components/schemas/TelematicsDeviceData_v1beta1"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          }
        },
        "required" : [ "telematicsDeviceData" ]
      },
      "DevicesIngestionResponse_v1beta1" : {
        "type" : "object",
        "properties" : {
          "acceptedDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "code" : {
            "type" : "string"
          },
          "rejectedDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "submittedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "totalDatapoints" : {
            "type" : "integer",
            "format" : "int32"
          },
          "violations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceViolation_v1beta1"
            }
          }
        }
      },
      "FaultCode_v1beta2" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Datapoint_v1beta2"
        }, {
          "type" : "object",
          "properties" : {
            "description" : {
              "type" : "string",
              "description" : "Fault description"
            },
            "identifier" : {
              "type" : "string",
              "description" : "Fault identifier"
            },
            "occurredAt" : {
              "type" : "string",
              "format" : "date-time",
              "description" : "ISO 8601 date-time when fault occurred"
            },
            "resolvedAt" : {
              "type" : "string",
              "format" : "date-time",
              "description" : "ISO 8601 date-time when fault was resolved"
            },
            "severity" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Fault severity from 0 to 100"
            }
          }
        } ]
      },
      "Location_v1beta2" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Datapoint_v1beta2"
        }, {
          "type" : "object",
          "properties" : {
            "accuracyRadius" : {
              "type" : "number",
              "format" : "double",
              "description" : "Accuracy of the location defined as a radius in meters"
            },
            "datetime" : {
              "type" : "string",
              "format" : "date-time",
              "description" : "ISO 8601 date-time when location was measured"
            },
            "latitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "Latitude of the asset"
            },
            "longitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "Longitude of the asset"
            }
          }
        } ]
      },
      "MachineInsight_v1beta2" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Datapoint_v1beta2"
        }, {
          "type" : "object",
          "properties" : {
            "datetime" : {
              "type" : "string",
              "format" : "date-time",
              "description" : "ISO 8601 date-time when machine insight was measured"
            },
            "insightType" : {
              "type" : "string",
              "description" : "Type of the Machine Insight",
              "enum" : [ "AcAverageFrequency", "AcAveragePhaseToNeutralRmsVoltage", "AcAveragePhaseToPhaseRmsVoltage", "AcAverageRmsCurrent", "AcPhaseL1ActivePower", "AcPhaseL1Frequency", "AcPhaseL1L2RmsVoltage", "AcPhaseL1NeutralRMSVoltage", "AcPhaseL1RmsCurrent", "AcPhaseL2ActivePower", "AcPhaseL2Frequency", "AcPhaseL2L3RmsVoltage", "AcPhaseL2NeutralRMSVoltage", "AcPhaseL2RmsCurrent", "AcPhaseL3ActivePower", "AcPhaseL3Frequency", "AcPhaseL3L1RmsVoltage", "AcPhaseL3NeutralRMSVoltage", "AcPhaseL3RmsCurrent", "AcTotalActivePower", "AcTotalApparentPower", "AcTotalPowerFactor", "AcTotalReactivePower", "AcTotalRelativeActivePowerLoadPercentage", "AcTotalRelativeApparentPowerLoadPercentage", "AcTotalRelativeLoadPercentage", "AccelerometerXAxis", "AccelerometerYAxis", "AccelerometerZAxis", "ActualEnginePercentTorque", "AfterTreatmentDieselExhaustFluidConcentration", "AfterTreatmentDieselExhaustFluidTankLevel", "AfterTreatmentDieselExhaustFluidTankTemperature", "AfterTreatmentDieselParticulateFilterActiveRegenerationState", "AfterTreatmentDieselParticulateFilterAshLoadPercent", "AfterTreatmentDieselParticulateFilterDifferentialPressure", "AfterTreatmentDieselParticulateFilterIntakeTemperature", "AfterTreatmentDieselParticulateFilterPassiveRegenerationStatus", "AfterTreatmentDieselParticulateFilterSootLoadPercent", "AfterTreatmentDieselParticulateFilterState", "AfterTreatmentDieselParticulateFilterTimeSinceLastActiveRegeneration", "AfterTreatmentDieselParticulateFilterTimeToNextActiveRegeneration", "AfterTreatmentExhaustTemperature", "AfterTreatmentScrTimeSinceLastCleaningEvent", "Altitude", "AmbientAirTemperature", "AverageLoadFactorLast24Hours", "BarometricPressure", "BatteryChargeCyclesCount", "BatteryChargerInputCurrent", "BatteryChargerInputCurrentLimit", "BatteryChargerInputVoltage", "BatteryChargerOutputCurrent", "BatteryChargerOutputCurrentLimit", "BatteryChargerOutputVoltage", "BatteryChargerPowerLineState", "BatteryChargerState", "BatteryCumulativeChargingHours", "BatteryCumulativeDischargedEnergy", "BatteryCurrent", "BatteryPotential", "BatteryRemainingChargeTime", "BatteryRemainingRunTime", "BatteryStateOfChargePercent", "BatteryStateOfHealthPercent", "BatteryTemperature", "CumulativeActiveRegenerationHours", "CumulativeCo2Emissions", "CumulativeEngineHours", "CumulativeIdleEnergyUsed", "CumulativeIdleHours", "CumulativeIdleNonOperatingHours", "CumulativeLoadCount", "CumulativeMovingHours", "CumulativeOperatingDistance", "CumulativeOperatingHours", "CumulativeOperationCount", "CumulativePayloadTotals", "CumulativeProductiveHours", "CumulativeUtilizationHours", "DieselParticulateFilterActiveRegenerationInhibitedDueToInhibitSwitch", "EngineAirFilterDifferentialPressure", "EngineCoolantLevel", "EngineCoolantPressure", "EngineCoolantTemperature", "EngineExhaustTemperature", "EngineFuelDeliveryPressure", "EngineFuelFilterDifferentialPressure", "EngineFuelRate", "EngineFuelTemperature", "EngineIntakeAirPressure", "EngineIntakeAirTemperature", "EngineIntakeManifoldPressure", "EngineIntakeManifoldTemperature", "EngineIntercoolerTemperature", "EngineOilFilterDifferentialPressure", "EngineOilLevel", "EngineOilPressure", "EngineOilTemperature", "EnginePercentLoadAtCurrentSpeed", "EngineSpeed", "EngineStatus", "EngineTotalFuelUsed", "EngineTotalIdleFuelUsed", "EngineTripFuel", "ExhaustSystemHighTemperatureLampCommand", "FuelLevel", "FuelTankCapacity", "FuelUsedLast24Hours", "GeneratorTotalKwHoursExport", "HydraulicOilFilterRestrictionSwitch", "HydraulicOilLevel", "HydraulicPressure", "HydraulicTemperature", "Impact", "MaximumSpeedLast24Hours", "Payload", "PayloadPercentage", "PayloadTemperature", "PitchAngle", "PlatformElevated", "PlatformHeight", "PlatformHeightPercent", "PlatformStowed", "RescueModeActive", "RoadSurfaceTemperature", "RollAngle", "SeatBeltSwitch", "Speed", "StabilizersDeployed", "TotalPowerTakeOffHours", "TotalVehicleDistance", "TransmissionOilTemperature", "WaterInFuelIndicator", "WheelBasedVehicleSpeed", "WindSpeed", "WindDirection", "ParticleVelocity", "ParticulateMatter25", "ParticulateMatter10", "BatteryChargerCumulativeInputEnergy", "MovingStatus" ]
            },
            "value" : {
              "type" : "string",
              "description" : "Value of the Machine Insight. Can be a string, number or boolean depending on the insight type."
            }
          }
        } ]
      },
      "Metadata_v1beta2" : {
        "type" : "object",
        "properties" : {
          "assetId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Trackunit's Asset ID, which identifies the asset"
          }
        }
      },
      "TelematicsDeviceData_v1beta1" : {
        "type" : "object",
        "properties" : {
          "datapoints" : {
            "type" : "array",
            "description" : "List of telematics device data points that will be ingested into the Trackunit platform",
            "items" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/DeviceDatapoint_v1beta1"
              }, {
                "$ref" : "#/components/schemas/DeviceLocation_v1beta1"
              } ]
            }
          },
          "metadata" : {
            "$ref" : "#/components/schemas/TelematicsDeviceMetadata_v1beta1",
            "description" : "Telematics device metadata, which identifies the device"
          }
        }
      },
      "TelematicsDeviceMetadata_v1beta1" : {
        "type" : "object",
        "properties" : {
          "telematicsDeviceId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Trackunit's Telematics Device ID, which identifies the device"
          }
        }
      },
      "Violation" : {
        "type" : "object",
        "properties" : {
          "field" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          }
        }
      },
      "Violation_v1beta2" : {
        "type" : "object",
        "properties" : {
          "assetId" : {
            "type" : "string"
          },
          "code" : {
            "type" : "string"
          },
          "field" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          }
        }
      }
    },
    "securitySchemes" : {
      "authorizationBearer" : {
        "bearerFormat" : "JWT",
        "scheme" : "bearer",
        "type" : "http"
      }
    }
  }
}