downloads

Request a video export

Asks the NVRs to export one clip per entry in clips. The export runs in the background; poll the download by its id for status and links, or subscribe to the download_finished webhook. Requires the write:* scope and the REGULAR role, and the creator must have access to every camera. Organizations that enforce face blur on exports get 403, because developer API downloads cannot be blurred.

Each clip can be at most 2 hours long. The request body can be at most 1 MiB; a larger body returns 400. Within that size there is no limit on the number of clips: each NVR queues its exports and works through them, so a request with many clips takes longer to finish.

Send an Idempotency-Key header to retry safely. A retry with the same key and body returns the original download with the Idempotent-Replayed: true header; the same key with a different body returns 422. Because a replay returns the original download, a download that ended failed is not retried by sending its key again. Send the request again with a new Idempotency-Key to start a new export.

post/v1/downloads

Request

  • Base URL
    https://developer.coram.ai
  • URL
    https://developer.coram.ai/v1/downloads
  • Auth
    API key in header X-Auth-Token

Headers

Idempotency-Keystring

1 to 255 printable ASCII characters, unique per request within the organization.

Request body

namestring nullable

1 to 200 characters after trimming whitespace.

include_timestamp_overlayboolean
include_audioboolean

Ignored when the organization mutes audio on all exports.

motion_onlyboolean

Response

The download was accepted, or replayed for a repeated Idempotency-Key

download_idinteger required
status'processing' | 'ready' | 'failed' | 'cancelled' | 'expired' required

Changes