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.

query Parameters
device: {
Optional
id: string
Optional

Equivalent to deviceId, and ignored if deviceId is supplied

name: string
Optional

Equivalent to deviceName, and ignored if deviceName is supplied

}
deviceId: string
Optional

ID of device associated with the pending import

deviceName: string
Optional

Name of device associated with the pending import

error: string
Optional

A string to filter based on error messages

filename: string
Optional

Filename to exactly match

key: string
Optional

The unique key optionally provided when importing

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

requestId: string
Optional

A specific import request ID

showCompleted: boolean
Optional

Include completed requests

showQuarantined: boolean
Optional

Include quarantined requests

siteId: string
Optional

Filter response to imports at site with this ID

sortBy:
Optional

Sort by a single field of the import type

"createdAt"
"deviceId"
"deviceName"
"device.name"
"device.id"
"error"
"importId"
"requestId"
"updatedAt"
sortOrder:
Optional

Sort order for the sortBy field

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

Filter pending imports updated since this time

Response fields
createdAt: string
(format: date-time)

When the pending import was created

filename: string

Filename of the import

orgId: string

ID of org to which the import belongs

pipelineStage: string

stage in the import pipeline the import currently occupies

requestId: string

ID of the import request

siteId: string

ID of Primary Site where import will be stored

updatedAt: string
(format: date-time)

When the pending import was last updated

deviceId: string
Optional

ID of device

deviceName: string
Optional

Name of the device from which the import originated

error: string
Optional

Error message, if status is "error"

importId: string
Optional

ID of import; undefined until status is "complete"

quarantinedAt: string
Optional
(format: date-time)

When the pending import was quarantined

status: "received" | "processing" | "ready for indexing" | 2 more...
Optional

Status of initiated import

Request example
200Example
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.

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.