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.

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.

query Parameters
id: Array<string>

ID of import to delete. You can specify up to 50 IDs (for example, ?id=abc&id=def&...).

Response fields
deletionResults: Array<{ importId, result }>
Request example
200Example
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.

path Parameters
importId: string
query Parameters
deviceId: string
Optional

The deviceId from the import record

Response fields
id: string
Request example
200Example