---
updatedAt: 2026-05-04T21:43:38.000Z
agentTools:
  projectIndex: https://docs.toqua.ai/llms.txt
---

# Ingest sensor data

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Toqua API",
    "contact": {
      "name": "Toqua",
      "url": "https://toqua.ai/",
      "email": "admin@toqua.ai"
    },
    "version": "0.26"
  },
  "servers": [
    {
      "url": "https://api.toqua.ai",
      "description": "Toqua API"
    }
  ],
  "paths": {
    "/ships/{imo_number}/data/sensors": {
      "post": {
        "tags": [
          "Data"
        ],
        "summary": "Ingest sensor data",
        "operationId": "ingest_sensor_data",
        "security": [
          {
            "APIKeyHeader": []
          },
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "imo_number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Imo Number"
            }
          },
          {
            "name": "x-toqua-channel",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Override ingestion channel (pull, email, push, manual, unknown).",
              "title": "X-Toqua-Channel"
            },
            "description": "Override ingestion channel (pull, email, push, manual, unknown)."
          },
          {
            "name": "x-toqua-source-system",
            "in": "header",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Override source system identifier.",
              "title": "X-Toqua-Source-System"
            },
            "description": "Override source system identifier."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SensorDataInput"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IngestResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "501": {
            "description": "Not Implemented"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "FuelConsumptionRateEntry": {
        "properties": {
          "fuel_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "Ethane",
                  "Ethanol",
                  "HFO",
                  "LBG",
                  "LFO",
                  "LNG",
                  "LNGBO",
                  "LNGN2",
                  "LPG",
                  "LPGB",
                  "LPGP",
                  "LSHFO",
                  "LSLFO",
                  "LSMGO",
                  "MDO",
                  "Methanol",
                  "MGO",
                  "Other",
                  "ULSFO2020",
                  "ULSLFO2020",
                  "ULSMDO2020",
                  "ULSMGO2020",
                  "VLSFO",
                  "VLSFO2020",
                  "VLSLFO2020"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Fuel Type",
            "description": "Fuel type code from the Smart Maritime Council Standardised Vessel Dataset (SVD) fuel type code list (IMO data number IMO0654). Null means fuel was consumed but its type is unknown: the amount is still recorded, but no standard LCV can be assigned to it (provide `lcv` if the energy content is known). For a fuel that is known but simply not in the code list, use the SVD code \"Other\" rather than null.",
            "examples": [
              "VLSFO",
              "LSMGO"
            ]
          },
          "rate_in_mt_per_day": {
            "type": "number",
            "minimum": 0,
            "title": "Rate In Metric Tons Per Day",
            "description": "Consumption rate of this fuel, in metric tons/day (mt/day).",
            "examples": [
              25.3,
              1.2
            ]
          },
          "lcv": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 50,
                "minimum": 15
              },
              {
                "type": "null"
              }
            ],
            "title": "Lower Calorific Value",
            "description": "Lower calorific value of this fuel in megajoule/kilogram (MJ/kg). If omitted, the standard LCV for the fuel type is used.",
            "examples": [
              41.6,
              42.8
            ]
          }
        },
        "type": "object",
        "required": [
          "rate_in_mt_per_day"
        ],
        "title": "FuelConsumptionRateEntry",
        "description": "One fuel in a per-sample fuel consumption breakdown (sensor data)."
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "IngestResponse": {
        "properties": {
          "upload_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Upload Id",
            "description": "Unique identifier assigned to this upload event. Use this to retrieve or track the upload via the uploads endpoints. ",
            "examples": [
              "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
            ]
          }
        },
        "type": "object",
        "title": "IngestResponse",
        "description": "Confirmation returned after a successful data ingestion request."
      },
      "SensorDataInput": {
        "properties": {
          "datetime_start": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Start datetime",
            "description": "List of datetimes on which the sensor averaging period starts. Datetime must be in ISO8601 format, and must specify a timezone.",
            "examples": [
              "2022-08-02T09:21:24+00:00",
              "2022-08-02T09:26:24+00:00"
            ]
          },
          "datetime_end": {
            "items": {
              "type": "string",
              "format": "date-time"
            },
            "type": "array",
            "maxItems": 500000,
            "title": "End datetime",
            "description": "List of datetimes on which the sensor averaging period ends. Datetime must be in ISO8601 format, and must specify a timezone.",
            "examples": [
              "2022-08-02T09:21:24+00:00",
              "2022-08-02T09:26:24+00:00"
            ]
          },
          "lat": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Latitude",
            "description": "List of latitudes in decimal degrees format (DDD.DDDDD°). Positive values are north of the equator.",
            "examples": [
              24.69452,
              24.60452
            ]
          },
          "lng": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Longitude",
            "description": "List of longitudes in decimal degrees format (DDD.DDDDD°). Positive values are east of the prime meridian.",
            "examples": [
              128.10483,
              128.20483
            ]
          },
          "sog": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Speed Over Ground",
            "description": "List of Speed Over Ground values in knots (kn).",
            "examples": [
              14.1,
              15
            ]
          },
          "stw": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Speed Through Water",
            "description": "List of Speed Through Water values in knots (kn).",
            "examples": [
              14.1,
              15
            ]
          },
          "me_power": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Main Engine Shaft Power",
            "description": "List of main engine shaft power values in kilowatt (kW).",
            "examples": [
              1000,
              3000,
              6000,
              9000
            ]
          },
          "me_rpm": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Main Engine Shaft RPM",
            "description": "List of main engine shaft RPM values in Rotations Per Minute (RPM).",
            "examples": [
              60,
              61
            ]
          },
          "me_fuel_consumption": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Main Engine Fuel Consumption Per Fuel Type",
            "description": "List of main engine fuel consumption breakdowns, one per sample. Each breakdown lists, for every fuel consumed by the main engine, the consumption rate in metric tons/day (mt/day) as typically delivered by fuel flow meters, and optionally that fuel's lower calorific value (LCV). Dual-fuel engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. When provided, this field takes precedence over the deprecated me_fo_consumption, me_fuel_type, me_lcv, me_gas_consumption, me_gas_type and me_gas_lcv fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 25.3
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 1.2
                }
              ]
            ]
          },
          "shaft_generator_power": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Shaft Generator Power",
            "description": "List of shaft generator power values in kilowatt (kW).",
            "examples": [
              1000,
              1050.2
            ]
          },
          "turbo_generator_power": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Turbo Generator Power",
            "description": "List of turbo generator power output values in kilowatt (kW).",
            "examples": [
              1000,
              1050.2
            ]
          },
          "boiler_fuel_consumption_1": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Boiler 1 Fuel Consumption Per Fuel Type",
            "description": "List of boiler 1 fuel consumption breakdowns, one per sample, for boiler 1 alone. Each breakdown lists, for every fuel consumed by boiler 1, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel boilers can report multiple fuels (e.g. boil-off gas plus fuel oil) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 1.4
                },
                {
                  "fuel_type": "HFO",
                  "lcv": 40.2,
                  "rate_in_mt_per_day": 0.6
                }
              ]
            ]
          },
          "boiler_fuel_consumption_2": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Boiler 2 Fuel Consumption Per Fuel Type",
            "description": "List of boiler 2 fuel consumption breakdowns, one per sample, for boiler 2 alone. Each breakdown lists, for every fuel consumed by boiler 2, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel boilers can report multiple fuels (e.g. boil-off gas plus fuel oil) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 1.4
                },
                {
                  "fuel_type": "HFO",
                  "lcv": 40.2,
                  "rate_in_mt_per_day": 0.6
                }
              ]
            ]
          },
          "boiler_fuel_consumption_3": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Boiler 3 Fuel Consumption Per Fuel Type",
            "description": "List of boiler 3 fuel consumption breakdowns, one per sample, for boiler 3 alone. Each breakdown lists, for every fuel consumed by boiler 3, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel boilers can report multiple fuels (e.g. boil-off gas plus fuel oil) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 1.4
                },
                {
                  "fuel_type": "HFO",
                  "lcv": 40.2,
                  "rate_in_mt_per_day": 0.6
                }
              ]
            ]
          },
          "boiler_fuel_consumption_total": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Boiler Fuel Consumption Per Fuel Type",
            "description": "List of boiler fuel consumption breakdowns, one per sample, summed over all boilers. Each breakdown lists, for every fuel consumed by the boilers, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel boilers can report multiple fuels (e.g. boil-off gas plus fuel oil) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 1.4
                },
                {
                  "fuel_type": "HFO",
                  "lcv": 40.2,
                  "rate_in_mt_per_day": 0.6
                }
              ]
            ]
          },
          "ae_power_1": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 1 Power",
            "description": "List of auxiliary engine 1 power values in kilowatt (kW).",
            "examples": [
              200,
              250.5
            ]
          },
          "ae_power_2": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 2 Power",
            "description": "List of auxiliary engine 2 power values in kilowatt (kW).",
            "examples": [
              200,
              250.5
            ]
          },
          "ae_power_3": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 3 Power",
            "description": "List of auxiliary engine 3 power values in kilowatt (kW).",
            "examples": [
              200,
              250.5
            ]
          },
          "ae_power_4": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 4 Power",
            "description": "List of auxiliary engine 4 power values in kilowatt (kW).",
            "examples": [
              200,
              250.5
            ]
          },
          "ae_power_5": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 5 Power",
            "description": "List of auxiliary engine 5 power values in kilowatt (kW).",
            "examples": [
              200,
              250.5
            ]
          },
          "ae_power_6": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 6 Power",
            "description": "List of auxiliary engine 6 power values in kilowatt (kW).",
            "examples": [
              200,
              250.5
            ]
          },
          "ae_power_total": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Auxiliary Engine Power",
            "description": "List of total auxiliary engine power values in kilowatt (kW), summed over all auxiliary engines.",
            "examples": [
              1000,
              1050.2
            ]
          },
          "ae_fuel_consumption_1": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 1 Fuel Consumption Per Fuel Type",
            "description": "List of auxiliary engine 1 fuel consumption breakdowns, one per sample, for auxiliary engine 1 alone. Each breakdown lists, for every fuel consumed by auxiliary engine 1, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel auxiliary engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 3.1
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 0.2
                }
              ]
            ]
          },
          "ae_fuel_consumption_2": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 2 Fuel Consumption Per Fuel Type",
            "description": "List of auxiliary engine 2 fuel consumption breakdowns, one per sample, for auxiliary engine 2 alone. Each breakdown lists, for every fuel consumed by auxiliary engine 2, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel auxiliary engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 3.1
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 0.2
                }
              ]
            ]
          },
          "ae_fuel_consumption_3": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 3 Fuel Consumption Per Fuel Type",
            "description": "List of auxiliary engine 3 fuel consumption breakdowns, one per sample, for auxiliary engine 3 alone. Each breakdown lists, for every fuel consumed by auxiliary engine 3, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel auxiliary engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 3.1
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 0.2
                }
              ]
            ]
          },
          "ae_fuel_consumption_4": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 4 Fuel Consumption Per Fuel Type",
            "description": "List of auxiliary engine 4 fuel consumption breakdowns, one per sample, for auxiliary engine 4 alone. Each breakdown lists, for every fuel consumed by auxiliary engine 4, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel auxiliary engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 3.1
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 0.2
                }
              ]
            ]
          },
          "ae_fuel_consumption_5": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 5 Fuel Consumption Per Fuel Type",
            "description": "List of auxiliary engine 5 fuel consumption breakdowns, one per sample, for auxiliary engine 5 alone. Each breakdown lists, for every fuel consumed by auxiliary engine 5, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel auxiliary engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 3.1
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 0.2
                }
              ]
            ]
          },
          "ae_fuel_consumption_6": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Auxiliary Engine 6 Fuel Consumption Per Fuel Type",
            "description": "List of auxiliary engine 6 fuel consumption breakdowns, one per sample, for auxiliary engine 6 alone. Each breakdown lists, for every fuel consumed by auxiliary engine 6, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel auxiliary engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 3.1
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 0.2
                }
              ]
            ]
          },
          "ae_fuel_consumption_total": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "$ref": "#/components/schemas/FuelConsumptionRateEntry"
                      },
                      "type": "array"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Total Auxiliary Engine Fuel Consumption Per Fuel Type",
            "description": "List of auxiliary engine fuel consumption breakdowns, one per sample, summed over all auxiliary engines. Each breakdown lists, for every fuel consumed by the auxiliary engines, the consumption rate and optionally that fuel's lower calorific value (LCV). Dual-fuel auxiliary engines can report multiple fuels (e.g. boil-off gas plus pilot fuel) in a single breakdown. Rate in metric tons/day (mt/day); if your source is kg/h, scale accordingly. When provided, takes precedence over the deprecated flat ae/boiler fuel-oil-consumption, fuel-type and LCV fields. Null means no breakdown was reported.",
            "examples": [
              [
                {
                  "fuel_type": "LNGBO",
                  "rate_in_mt_per_day": 3.1
                },
                {
                  "fuel_type": "MDO",
                  "lcv": 42,
                  "rate_in_mt_per_day": 0.2
                }
              ]
            ]
          },
          "ship_heading": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Ship Heading",
            "description": "Ship heading direction values in degrees true (°T): north is at 0° and increases clockwise.",
            "examples": [
              222.3,
              30.6
            ]
          },
          "draft_avg": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Average Draft",
            "description": "List of average draft values in meter (m).",
            "examples": [
              21.1,
              21
            ]
          },
          "trim": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Trim",
            "description": "List of trim values in meter (m). Calculated as draft fore - draft aft.",
            "examples": [
              -0.15,
              -0.1
            ]
          },
          "sea_depth": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Sea Depth",
            "description": "Sea Depth in meters (m).",
            "examples": [
              200.5,
              30.1
            ]
          },
          "rudder_angle": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Rudder Angle",
            "description": "Rudder angle in degrees (°).",
            "examples": [
              10.1,
              0.2
            ]
          },
          "air_lubrication_system_power": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Total power of the Air Lubrication System",
            "description": "List of air lubrication system power values in kilowatt (kW), summed over all compressors.",
            "examples": [
              100,
              250.2
            ]
          },
          "propeller_pitch_angle": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Propeller Pitch Angle",
            "description": "Propeller pitch angle in degrees (°). A pitch angle of 0° indicates the neutral position. Positive values correspond to forward thrust (blades angled to push water aft), negative values to reverse thrust (blades angled to push water forward).",
            "examples": [
              10.1,
              0.2,
              -20
            ]
          },
          "propeller_pitch_percentage": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number",
                      "maximum": 200,
                      "minimum": -200
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Propeller Pitch Percentage",
            "description": "Propeller pitch as a percentage of maximum ahead pitch. 0% corresponds to zero blade angle (no thrust), 100% corresponds to maximum ahead blade angle (maximum thrust). Negative values indicate astern pitch if supported by the vessel. Values are accepted from -200% to +200% to allow sensor or vessel-specific scaling beyond the nominal range.",
            "examples": [
              100,
              50,
              0,
              -25.5,
              120
            ]
          },
          "operating_mode": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Operating Mode",
            "description": "Operating mode of the vessel during the sensor data recording. Examples are 'fuel optimization on', 'air lubrication on', 'main engine running'."
          },
          "cyl_oil_rob": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Cylinder Lube Oil Remaining On Board",
            "description": "List of cylinder lube oil remaining on board values in metric tons (mt).",
            "examples": [
              5.2,
              5
            ]
          },
          "cyl_oil_consumption": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "Cylinder Lube Oil Consumption",
            "description": "List of cylinder lube oil consumption values in grams per kilowatt hour (g/kWh).",
            "examples": [
              0.8,
              0.9
            ]
          },
          "sys_oil_rob": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "System Oil Remaining On Board",
            "description": "List of system oil remaining on board values in metric tons (mt).",
            "examples": [
              8.5,
              8.3
            ]
          },
          "sys_oil_consumption": {
            "anyOf": [
              {
                "items": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "array",
                "maxItems": 500000
              },
              {
                "type": "null"
              }
            ],
            "title": "System Oil Consumption",
            "description": "List of system oil consumption values in metric tons per day (mt/day).",
            "examples": [
              0.05,
              0.06
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "datetime_end"
        ],
        "title": "SensorDataInput"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "APIKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      },
      "HTTPBearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "externalDocs": {
    "description": "API Documentation",
    "url": "https://docs.toqua.ai"
  }
}
```