Skip to main content

Coverage

Coverage provides the ability to see which time spans are available within Foxglove.

List coverage

Request

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

You 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 a device running Foxlet, set the includeEdgeRecordings query parameter to true

Security
ApiKey(Required scopes: data.coverage.list)
Query
startstring, (date-time)

Start of an inclusive time range

endstring, (date-time)

End of an inclusive time range

tolerancenumber, >= 0

Minimum interval (in seconds) that ranges must be separated by to be considered discrete. Currently, the minimum meaningful value is 14s and smaller values will be clamped to this value.

deviceIdstring

Filter coverage by device ID

deviceNamestring

Name of device associated with the data

device.namestringdeprecated

Equivalent to deviceName, and ignored if deviceName is supplied

device.idstringdeprecated

Equivalent to deviceId, and ignored if deviceId is supplied

includeEdgeRecordingsboolean

Include recordings from an Edge Site or a device running Foxlet in the response.

When edge recordings are included, each item in the response array will also include the importStatus for the coverage range.

Default:false
importIdstringdeprecated

Filter coverage by import ID

recordingIdstring

Filter coverage by recording ID

recordingKeystring

Filter coverage by recordingKey

sessionIdstring

Filter coverage to recordings in the session with this ID

sessionKeystring

Filter coverage to recordings in the session with this key

projectIdstring

Filter coverage by project

Python
from foxglove.client import Client
from datetime import datetime, timedelta

token = "<YOUR API TOKEN HERE>"
client = Client(token=token)

client.get_coverage(
    start=datetime.now() - timedelta(hours=3),
    end=datetime.now() - timedelta(hours=1),
)

Responses

Coverage

Bodyapplication/json
Array [
deviceIdstring

ID of device.

deviceobject(CoverageDeviceSummary)

Device summary.

startstring, (date-time)required

Start of this coverage

endstring, (date-time)required

End of this coverage

importStatusstring(RecordingImportStatus)

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 a device running Foxlet.

The set of importStatus values may expand in the future.

Enum:"none""pending""importing""failed""complete"
statusstringrequireddeprecated

The status of the coverage range

Enum:"at-edge""import-pending""imported"
]
Response
[ { "deviceId": "string", "device": { … }, "start": "2019-08-24T14:15:22Z", "end": "2019-08-24T14:15:22Z", "status": "at-edge", "importStatus": "none" } ]