clips-tool
Retrieve saved video clips, expiring clips, shared live streams, and timelapse clips from your Rhombus system. Filter by devices, locations, search text, or time range.
Instructions
Retrieves saved video clips from the Rhombus system. Saved clips can be viewed for up to 2 years and are typically found in the "Clips" tab of the "Saved Video" section of the Rhombus Console. Clips are either manually saved by the user, or automatically by some defined policy. Therefore, this tool is not for looking up the events that have occured.
This tool allows you to:
Get saved clips or clips expiring soon (filter by devices, locations, search string, time range).
Get all shared live video streams for the organization.
Get all timelapse clips for the organization.
Filter options (for saved and expiringSoon only):
Specific devices using their UUIDs (deviceUuidFilters).
Specific locations using their UUIDs (locationUuidFilters).
A simple string search on clip names (searchFilter).
A time range: start (timestampISOAfter) and/or end (timestampISOBefore) timestamp in ISO 8601 format.
The tool returns a JSON object with the following structure and important fields:
errorMsg (string | null): An error message if the request failed.
objecterror (boolean | null): Indicates if an object-level error occurred.
pageToken (string | null): A token to be supplied on the next search request to get the next page of results. If this token is null, there is no more data available.
savedClips (array of objects | null): An array where each object represents a saved video clip. Each clip object contains the following important fields:
uuid (string): The unique identifier for the video clip.
title (string): The name given to the video clip.
description (string | null): An optional description for the clip.
timestampMs (int64): The start time of the video clip in milliseconds since epoch.
createdAtMs (int64): The creation timestamp of the clip in milliseconds since epoch.
createdAtTimestamp (string): The creation timestamp of the clip in ISO 8601 format.
deviceUuid (string): The UUID of the primary device (e.g., camera) that recorded the clip.
deviceUuids (array of strings or null): A list of UUIDs for all devices associated with the clip.
durationSec (int32): The length of the video clip in seconds.
status (string): The current processing status of the clip, with possible values such as INITIATING, UPLOADING, RENDERING, FAILED, COMPLETE, OFFLINE, or UNKNOWN.
userUuid (string | null): The UUID of the user associated with the clip, if applicable.
sourceAlertUuid (string | null): The UUID of the alert that triggered the creation of this clip, if any.
sharedLiveVideoStreams (array): When requestType is sharedLiveStreams, list of shared live video stream objects.
timelapseClips (array): When requestType is timelapseClips, list of timelapse clip objects.
Output filtering (all tools):
includeFields(string[]): Dot-notation paths to keep in the response (e.g."vehicleEvents.vehicleLicensePlate"). Omit to return all fields.filterBy(array): Predicates to filter array items. Each entry:{field, op, value}where op is one of= != > >= < <= contains. All conditions are ANDed. Example:[{field:"vehicleLicensePlate", op:"=", value:"ABC123"}]WARNING: some tool responses exceed 400k characters — use these params to request only the data you need.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| requestType | Yes | The type of data to retrieve. Use "saved" for regular saved clips, "expiringSoon" for clips nearing expiration, "sharedLiveStreams" for all shared live video streams, or "timelapseClips" for all timelapse clips. | |
| deviceUuidFilters | Yes | A list of UUIDs representing specific devices to filter clips by. Only clips emitted by these devices will be returned. Please truncate any facets, such as .v0. It is always 22 characters long. | |
| locationUuidFilters | Yes | A list of UUIDs representing specific locations to filter clips by. Only clips associated with these locations will be returned. Please truncate any facets, such as .v0. It is always 22 characters long. | |
| searchFilter | Yes | A simple string to search for within the names of the clips. | |
| timestampISOAfter | Yes | The start of the time range for which to retrieve clips. Only clips that occurred AFTER this timestamp will be returned. Required when requestType is saved or expiringSoon.Time format is in ISO 8601 format. Both UTC ("2025-08-04T20:54:27.123Z") and time zone offsets ("2025-08-04T13:54:27.123-07:00") are accepted to ensure an unambiguous point in time. | |
| timestampISOBefore | Yes | The end of the time range for which to retrieve clips. Only clips that occurred BEFORE this timestamp will be returned. Required when requestType is saved or expiringSoon.Time format is in ISO 8601 format. Both UTC ("2025-08-04T20:54:27.123Z") and time zone offsets ("2025-08-04T13:54:27.123-07:00") are accepted to ensure an unambiguous point in time. | |
| clipUuid | Yes | UUID of a clip. Required for 'deleteClip'. | |
| spliceRequest | Yes | Required for 'createClip'. Specifies the camera and time range for the new clip. | |
| includeFields | Yes | Dot-notation field paths to include in the response (e.g. "vehicleEvents.vehicleLicensePlate"). Pass null to return all fields. WARNING: some responses can exceed 400k characters — use includeFields to request only the data you need. For high-volume tools this may be required to get a complete answer. | |
| filterBy | Yes | Filter array items in the response by field values. All conditions are ANDed. Example: [{field: "vehicleLicensePlate", op: "=", value: "ABC123"}, {field: "confidence", op: ">", value: 0.8}] Use alongside includeFields to get only the specific records and fields you need. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | ||
| savedClips | No | ||
| expiringClips | No | ||
| sharedLiveVideoStreams | No | ||
| timelapseClips | No | ||
| clipGroups | No | List of clip groups/folders | |
| sharedClipGroups | No | List of shared clip groups | |
| spliceResult | No | Result of creating a new clip | |
| deleteResult | No | Result of deleting a clip |