Data

data

Methods

List Pending Imports -> OffsetPage<{ createdAt, filename, orgId, 10 more... }>
get/data/pending-imports

List the pending imports. These are in-progress import jobs for newly uploaded recordings.

List Coverage -> Array<{ end, start, status, 3 more... }>
get/data/coverage

A coverage range represents a time span for which Foxglove has data for a given device.

Your must specify the start and end arguments when making a coverage request.

Note: By default, only coverage ranges with imported recordings are returned. To include coverage ranges with unimported recordings from an Edge Site or Agent, set the includeEdgeRecordings query parameter to true

Download Data -> { link }
post/data/stream

This endpoint returns a link URL where you can download your data as an .mcap or .bag file.

To download your data:

  1. Make a request to this endpoint.
  2. Make a GET request to the link URL.

One of recordingId, key, importId (deprecated) or all three of deviceId/deviceName, start, and end must be specified.

Note: You can only export a .bag file if you originally uploaded a .bag file.

Upload A Recording -> { link, requestId }
post/data/upload

Use this endpoint to upload data to your foxglove-hosted site. The upload is a two-request process.

  1. Make a request to this upload endpoint to create an upload link.
  2. Issue a PUT HTTP request to the link response field URL.

Your PUT request header should have Content-Type: application/octet-stream, and your request body should contain your file content.

Note: If you are using a self-hosted site, see this guide for uploading data.

List Topics -> OffsetPage<{ encoding, schemaEncoding, schemaName, 3 more... }>
get/data/topics

Get a list of topics available for a device within a given time range.

By default, this endpoint will not return the schema for each topic. To include the schemas, you must provide the includeSchemas query parameter.

Use start and end to limit the response to overlapping recording ranges.

Topics for not-imported recordings are only returned if no parameter is provided besides recordingId or recordingKey. This is because most parameters need the imported files to filter, and can only return an empty list if imports are unavailable.

Data

Imports

data.imports

Methods

List Imports -> OffsetPage<{ id, end, filename, 12 more... }>
Deprecated
get/data/imports

This endpoint is deprecated. Use the list recordings endpoint instead.

query Parameters
dataEnd: string
Optional
(format: date-time)

Inclusive end of message log time

dataStart: string
Optional
(format: date-time)

Inclusive start of message log time

deviceId: string
Optional

ID of device associated with the exported data

end: string
Optional
(format: date-time)

Inclusive end of import time

filename: string
Optional

Filename to match

limit: number
Optional
(minimum: 0, maximum: 2000, default: 2000)

Maximum number of items to return

offset: number
Optional
(minimum: 0)

Number of items to skip before returning the results

sortBy:
Optional

Sort by a single field of the import type

"importId"
"deviceId"
"importTime"
"dataStart"
"dataEnd"
sortOrder:
Optional

Sort order for the sortBy field

"asc"
"desc"
start: string
Optional
(format: date-time)

Inclusive start of import time

Response fields
id: string

Opaque ID

end: string
(format: date-time)

Message log time end of imported data

filename: string
importId: string
Deprecated
importTime: string
(format: date-time)

Imported timestamp

orgId: string
start: string
(format: date-time)

Message log time start of imported data

date: string
Optional

Message log time start date in YYYYMMDD format e.g. 20170322

deleted: boolean
Optional
deviceId: string
Optional
deviceName: string
Optional
inputSize: number
Optional
(format: bigint)

Size in bytes of the uploaded file

inputType: string
Optional

Supported input type: ROS 1 bag ("bag1") or MCAP v0.x ("mcap0") file

outputType: string
Optional

Supported output type: ROS 1 bag ("bag1") or MCAP v0.x ("mcap0") file

totalOutputSize: number
Optional
(format: bigint)

Size in bytes of the data after processing

Request example
200Example
Delete Multiple Imports -> { deletionResults }
Deprecated
delete/data/imports

Deletes multiple imports by ID. Returns an array of result objects, which indicate whether a given import was successfully deleted. An import that has already been deleted will result in "notFound". Note: All imports must belong to the same site. If any import belongs to a different site, the entire request is rejected with a 400 response.

Delete An Import -> { id }
Deprecated
delete/data/imports/{importId}

This endpoint is deprecated. Use the delete recording endpoint instead.

Deleting an import deletes all data associated with the import.

This action is permanent and cannot be undone.