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

# List data upload records for a vessel, optionally filtered by source or time range.

# 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": {
    "/data/uploads": {
      "get": {
        "tags": [
          "Data Uploads"
        ],
        "summary": "List data upload records for a vessel, optionally filtered by source or time range.",
        "operationId": "list_data_uploads",
        "security": [
          {
            "APIKeyHeader": []
          },
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "imo_number",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "IMO number of the vessel.",
              "title": "Imo Number"
            },
            "description": "IMO number of the vessel."
          },
          {
            "name": "source",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/DataUploadSourceType"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter results to a specific data source type (e.g. 'sensor', 'noon_report', 'weather', 'events'). Omit to return all source types.",
              "title": "Source"
            },
            "description": "Filter results to a specific data source type (e.g. 'sensor', 'noon_report', 'weather', 'events'). Omit to return all source types."
          },
          {
            "name": "channel",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/DataUploadChannel"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter results to a specific operational channel (one of: 'pull', 'email', 'push', 'manual', 'unknown'). Omit to return all channels.",
              "title": "Channel"
            },
            "description": "Filter results to a specific operational channel (one of: 'pull', 'email', 'push', 'manual', 'unknown'). Omit to return all channels."
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return only uploads received at or after this timestamp (ISO 8601, UTC).",
              "title": "From"
            },
            "description": "Return only uploads received at or after this timestamp (ISO 8601, UTC)."
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date-time"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Return only uploads received at or before this timestamp (ISO 8601, UTC).",
              "title": "To"
            },
            "description": "Return only uploads received at or before this timestamp (ISO 8601, UTC)."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Page number to return (1-indexed).",
              "default": 1,
              "title": "Page"
            },
            "description": "Page number to return (1-indexed)."
          },
          {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 200,
              "minimum": 1,
              "description": "Number of records per page. Maximum 200.",
              "default": 50,
              "title": "Page Size"
            },
            "description": "Number of records per page. Maximum 200."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataUploadsListResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DataUploadChannel": {
        "type": "string",
        "enum": [
          "pull",
          "email",
          "push",
          "manual",
          "unknown"
        ],
        "title": "DataUploadChannel"
      },
      "DataUploadRecord": {
        "properties": {
          "upload_id": {
            "type": "string",
            "title": "Upload Id",
            "description": "Unique identifier for this upload event.",
            "examples": [
              "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
            ]
          },
          "imo_number": {
            "type": "string",
            "title": "Imo Number",
            "description": "IMO number of the vessel the data belongs to.",
            "examples": [
              "9123456"
            ]
          },
          "source_type": {
            "$ref": "#/components/schemas/DataUploadSourceType",
            "description": "Category of data uploaded. Possible values: 'sensor', 'noon_report', 'weather', 'events'.",
            "examples": [
              "sensor"
            ]
          },
          "channel": {
            "$ref": "#/components/schemas/DataUploadChannel",
            "description": "Operational channel through which data entered Toqua. Possible values: 'pull', 'email', 'push', 'manual', 'unknown'.",
            "examples": [
              "push"
            ]
          },
          "source_system": {
            "type": "string",
            "title": "Source System",
            "description": "Specific source system or integration behind the channel, for example a data collector, customer data lake, mailbox, or manual upload flow.",
            "examples": [
              "stormgeo"
            ]
          },
          "identity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Identity Id",
            "description": "Identifier of the API key or user account that performed the upload. Null if the upload was made anonymously or via a system process.",
            "examples": [
              "key_id_abc123"
            ]
          },
          "ingest_ts": {
            "type": "string",
            "format": "date-time",
            "title": "Ingest Ts",
            "description": "Timestamp (UTC) at which the data was received by the API.",
            "examples": [
              "2024-03-15T14:30:00Z"
            ]
          },
          "event_time_min": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Event Time Min",
            "description": "Earliest event timestamp (UTC) present in the uploaded payload. Null if the payload contained no timestamped records.",
            "examples": [
              "2024-03-15T00:00:00Z"
            ]
          },
          "event_time_max": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ],
            "title": "Event Time Max",
            "description": "Latest event timestamp (UTC) present in the uploaded payload. Null if the payload contained no timestamped records.",
            "examples": [
              "2024-03-15T23:59:59Z"
            ]
          },
          "row_count": {
            "type": "integer",
            "title": "Row Count",
            "description": "Number of data rows received in this upload."
          },
          "column_set": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Column Set",
            "description": "List of column names present in the uploaded payload.",
            "examples": [
              [
                "stw",
                "rpm",
                "me_power"
              ]
            ]
          },
          "bytes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bytes",
            "description": "Size of the raw upload payload in bytes. Null if not recorded."
          },
          "backfilled": {
            "type": "boolean",
            "title": "Backfilled",
            "description": "True if this record was created retrospectively by a backfill process rather than a live upload."
          }
        },
        "type": "object",
        "required": [
          "upload_id",
          "imo_number",
          "source_type",
          "channel",
          "source_system",
          "ingest_ts",
          "row_count",
          "column_set",
          "backfilled"
        ],
        "title": "DataUploadRecord",
        "description": "A single data upload event, capturing what was received, when, and from where."
      },
      "DataUploadSourceType": {
        "type": "string",
        "enum": [
          "sensor",
          "noon_report",
          "weather",
          "events"
        ],
        "title": "DataUploadSourceType"
      },
      "DataUploadsListResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/DataUploadRecord"
            },
            "type": "array",
            "title": "Items",
            "description": "List of upload records for the current page."
          },
          "total": {
            "type": "integer",
            "title": "Total",
            "description": "Total number of upload records matching the query."
          },
          "page": {
            "type": "integer",
            "title": "Page",
            "description": "Current page number (1-indexed)."
          },
          "page_size": {
            "type": "integer",
            "title": "Page Size",
            "description": "Maximum number of records returned per page."
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "page_size"
        ],
        "title": "DataUploadsListResponse",
        "description": "Paginated list of data upload records for a vessel."
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "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"
  }
}
```