Recordings

recordings

Methods

List Recordings -> OffsetPage<>
get/recordings

List recordings

Get A Recording ->
get/recordings/{keyOrId}

Get details on a specific recording.

Delete A Recording -> { recordingId }
delete/recordings/{keyOrId}

Deletes a recording. Deleting a recording also deletes the data for that recording (including attachments, messages, metadata, etc).

Note: For recordings stored at an Edge Site, this method deletes only the imported data for that recording, leaving the edge copy intact.

Import From Edge -> { id, importStatus }
post/recordings/{keyOrId}/import

Request import of a recording from an Edge Site to a Primary Site. Importing a recording makes the data (messages, metadata, attachments, etc.) available for download and streaming.

If the recording is successfully queued for import, is already imported, or already queued for import, this endpoint will return a 200 response and include the recording ID and the importStatus.

An import status of complete indicates the recording is already imported. Poll the GET v1/recordings/{id} endpoint to observe changes to the importStatus.

If the recording cannot be found or is unavailable for import because the edge copy or site is deleted, this endpoint will return a 404 response.

Domain types

DeviceSummary = { id, name }

ID and name of a device.

Recording = { id, createdAt, end, 10 more... }

A resource representing the content of an MCAP file or ROS bag managed by Foxglove.

RecordingImportStatus = "none" | "pending" | "importing" | 2 more...

The import status of recordings. Status will be one of:

  • none: The recording has not yet been imported, and import has not been requested.
  • pending: Foxglove has received a request to import this recording.
  • importing: The recording data is being processed for access via Foxglove.
  • failed: The recording data could not be imported.
  • complete: The contents of the recording are available for access via Foxglove.

Note: none and pending statuses are applicable only to recordings originating from an Edge Site or Foxglove Agent.

The set of importStatus values may expand in the future.

SiteSummary = { id, name }

ID and name of a site.

Recordings

Recording Attachments

recordings.recording_attachments

Methods

List Attachments -> OffsetPage<>
get/recording-attachments

List attachments

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

filter by device ID

deviceName: string
Optional

filter by device name

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

recordingId: string
Optional

filter by recording ID

siteId: string
Optional

filter by Primary Site ID

sortBy:
Optional

Sort by a single field of the attachment

"logTime"
sortOrder:
Optional

Sort order for the sortBy field

"asc"
"desc"
Response fields
id: string

ID of the attachment

crc: number

CRC field from the attachment record as a decimal number

createTime: string

Create time field from the attachment record

fingerprint: string

A hash of the attachment content (algorithm subject to change). Two attachments with the same fingerprint will have identical content.

logTime: string

Log time field from the attachment record

mediaType: string

Media type from the attachment record

name: string

Name field from the attachment record

recordingId: string

ID of the recording with which the attachment is associated

siteId: string

ID of the Primary Site where the attachment data is stored

size: number

Size of the attachment in bytes

lakePath: string
Optional

Path of attachment in lake storage. Only provided for self-hosted Primary Sites.

Request example
200Example
Get An Attachment ->
get/recording-attachments/{id}

Get an attachment

Download An Attachment ->
get/recording-attachments/{id}/download

To download an attachment make a request to this endpoint and follow the 302 redirect. The attachment will download directly from the Primary Site.

Note: The redirect link expires after 15 minutes.

Domain types

RecordingAttachment = { id, crc, createTime, 8 more... }

An attachment resource represents information about an MCAP attachment imported to Foxglove.