Skip to content

Splice V3

Send a request to create an arbitrary clip for multiple cameras

POST/api/video/spliceV3

Authorizations

x-auth-apikeystringheaderrequired

Your Rhombus API key. Must be accompanied by the x-auth-scheme header set to api-token (or partner-api-token for partner endpoints).

Authorizationstringheader

Instead of an API key, an OAuth access token: Bearer <token>, with the write scope.

OAuth explains tokens and scopes.

Headers

x-auth-schemeenum<string>headerdefault: api-token

Authentication scheme identifier. Use api-token or partner-api-token with the x-auth-apikey header, api or partner-api with x-auth-apikey plus a client certificate, api-oauth-token or partner-api-oauth-token with x-auth-access-token, and federated-token with x-auth-ft. A request with Authorization: Bearer <token> and no x-auth-scheme is treated as OAuth, and federated-token may also be sent as the x-auth-scheme and x-auth-ft query parameters.

Available options: api-token, api, api-oauth-token, federated-token, partner-api-token, partner-api, partner-api-oauth-token

x-auth-orgstring<RUUID>header

Client organization UUID (22-character RUUID), for partner credentials only. With it the call runs in that client organization with the partner support authority's role. Without it a partner credential runs as the partner organization, which outside the partner endpoints is deprecated (responses carry Deprecation and Sunset: Tue, 05 Jan 2027 00:00:00 GMT). A malformed value returns 400 INVALID_AUTH_ORG; a client organization the partner cannot access returns 403 PARTNER_CLIENT_ACCESS_DENIED.

Length: 22 to 22

Body

application/json · object

Request object for splicing video clips V3 with multiple cameras and advanced options.

accessSettingsobjectbody

Visibility setting for the clip

Show child attributes
allowedRolesstring<RUUID>[] | nullbody
allowedUsersstring<RUUID>[] | nullbody
visibilityenum<string>body

Use accessSettings instead

Available options: PRIVATE, ROLE_RESTRICTED, ORG_WIDE

alteredViewMapobject | nullbody

Map of device facet UUIDs to altered view configurations

Show child attributes
cropobjectbody
Show child attributes
heightinteger<int32> | nullbody
widthinteger<int32> | nullbody
xinteger<int32> | nullbody
yinteger<int32> | nullbody
dewarpobjectbody
Show child attributes
aspectRatioobjectbody
Show child attributes
heightinteger<int32> | nullbody
widthinteger<int32> | nullbody
pitchDegreesnumber<float> | nullbody
rollDegreesnumber<float> | nullbody
verticalFieldOfViewDegreesinteger<int32> | nullbody
yawDegreesnumber<float> | nullbody
audioIncludedboolean | nullbody

Whether to include audio in the clip

Example: true

clipVisibilityenum<string>body

Use accessSettings instead

Available options: PRIVATE, ROLE_RESTRICTED, ORG_WIDE

descriptionstring | nullbody

Description for the spliced clip

Example: "Review of security incident from main entrance"

deviceIntervalMapobject | nullbody

Optional map of device facet UUIDs to a list of time intervals (start/end millis) for multi-interval splicing. When provided and non-empty, the request is treated as multi-interval and the top-level startTimeMillis/durationSec are ignored. The sum of all interval durations across all devices is capped at 60 minutes, and each interval must be at least 1 second long.

Show child attributes
endMsinteger<int64> | nullbody
startMsinteger<int64> | nullbody
deviceUuidsstring<DeviceFacetUuid>[] | nullbody

List of device facet UUIDs to splice video from

durationSecinteger<int32> | nullbody

Duration in seconds for the splice

Example: 60

integrationUploadMapobject | nullbody

Map of integration names to upload flags

saveToConsoleboolean | nullbody

Whether to save the clip to console

Example: true

sendToSharedStorageboolean | nullbody

Whether to send to shared storage

Example: false

sendToUserStorageboolean | nullbody

Whether to send to user storage

Example: false

startTimeMillisinteger<int64> | nullbody

Start time in milliseconds for the splice

Example: 1640995200000

titlestring | nullbody

Title for the spliced clip

Example: "Security Incident Review"

Response

200 OK

application/json · object

Response object for splicing video clips V3.

clipUuidstring<RUUID> | null

base 64 (url-safe) uuid string

Example: "AAAAAAAAAAAAAAAAAAAAAA"

clipUuidListstring<RUUID>[] | null

List of UUIDs for created spliced clips

errorboolean | null
errorCodestring | null

Stable, machine-readable code for the failure (one of the ApiErrorCode catalog) when error is true. Branch on this, not on errorMsg.

errorMsgstring | null
warningMsgstring | null

Errors

Like every operation, this one can also answer with the standard error body (errorCode, errorMsg). Errors explains each status and how to retry.

  • 400 Bad Request. errorCode is one of: BAD_REQUEST, VALIDATION_FAILED, MISSING_REQUIRED_FIELD, INVALID_JSON, INVALID_REQUEST_BODY, FEATURE_NOT_ENABLED, INVALID_AUTH_ORG, LOCATION_NOT_FOUND.
  • 401 Unauthorized. errorCode is one of: UNAUTHENTICATED, INVALID_CREDENTIAL, CREDENTIAL_EXPIRED, CREDENTIAL_REVOKED, CERTIFICATE_MISMATCH.
  • 403 Forbidden. errorCode is one of: FORBIDDEN, DOMAIN_NOT_ALLOWED, DEVICE_SCOPE_MISMATCH, ROLE_NOT_PERMITTED, FUNCTIONALITY_REQUIRED, PARTNER_FUNCTIONALITY_REQUIRED, PERMISSION_REQUIRED, PARTNER_CLIENT_ACCESS_DENIED, HARDWARE_NOT_AVAILABLE, HARDWARE_ALREADY_REGISTERED, PARTNER_PORTAL_NOT_ENABLED, MANAGED_BY_MSP, SUPER_ADMIN_RESTRICTED_BY_MSP, MSP_DESIGNATION_INVALID, NOT_MANAGED_CLIENT.
  • 429 Too Many Requests. errorCode is one of: RATE_LIMITED.
  • 500 Internal Server Error. errorCode is one of: INTERNAL_ERROR.
  • 503 Service Unavailable. errorCode is one of: SERVICE_UNAVAILABLE.