# List continuous recordings

Returns a paginated list of all continuous recordings available within a given
source and time range. Recordings are chunked into constant time durations.
This endpoint enables customers to access a continuous video showing the truck
moving along the full length of its route.

Endpoint: GET /video-hero/v1/videos/continuous
Version: 1.11.0
Security: apiKey

## Query parameters:

  - `customerId` (string, required)
    Unique identifier for the customer

  - `truckId` (string, required)
    Truck identifier

  - `cameraId` (string)
    Filter by camera identifier or placement name

  - `startTime` (string, required)
    Start of time range in ISO 8601 format

  - `endTime` (string, required)
    End of time range in ISO 8601 format

  - `page` (integer)
    Page number for pagination

  - `pageSize` (integer)
    Number of results per page

## Response 200 fields (application/json):

  - `success` (boolean, required)
    Whether the request was successful
    Example: true

  - `data` (object, required)

  - `data.recordings` (array)
    List of continuous recording chunks

  - `data.recordings.id` (string, required)
    Unique identifier for the recording chunk
    Example: rec-001

  - `data.recordings.customerId` (string, required)
    Customer identifier
    Example: 123e4567-e89b-12d3-a456-426614174000

  - `data.recordings.truckId` (string, required)
    Truck identifier
    Example: truck-5201

  - `data.recordings.cameraId` (string, required)
    Camera identifier
    Example: front

  - `data.recordings.startTime` (string, required)
    Start time of this recording chunk
    Example: 2026-02-04T06:00:00Z

  - `data.recordings.endTime` (string, required)
    End time of this recording chunk
    Example: 2026-02-04T06:15:00Z

  - `data.recordings.durationSeconds` (integer, required)
    Duration of this recording chunk in seconds
    Example: 900

  - `data.recordings.downloadUrl` (string, required)
    Temporarily valid URL for downloading the recording
    Example: https://storage.yourcompany.com/continuous/rec-001.mp4?token=xyz789&expires=1738800000

  - `data.recordings.expiresAt` (string)
    Timestamp when the download URL expires
    Example: 2026-02-05T06:00:00Z

  - `data.pagination` (object)

  - `data.pagination.page` (integer)
    Current page number
    Example: 1

  - `data.pagination.pageSize` (integer)
    Number of items per page
    Example: 20

  - `data.pagination.totalItems` (integer)
    Total number of items across all pages
    Example: 48

  - `data.pagination.totalPages` (integer)
    Total number of pages
    Example: 3

## Response 400 fields (application/json):

  - `success` (boolean, required)
    Always false for errors
    Example: false

  - `error` (object, required)

  - `error.code` (string, required)
    Machine-readable error code
    Enum: "INVALID_PAYLOAD", "UNAUTHORIZED", "INTERNAL_ERROR", "NOT_FOUND"

  - `error.message` (string, required)
    Human-readable error message
    Example: Missing required field: truckId

## Response 401 fields (application/json):

  - `success` (boolean, required)
    Always false for errors
    Example: false

  - `error` (object, required)

  - `error.code` (string, required)
    Machine-readable error code
    Enum: "INVALID_PAYLOAD", "UNAUTHORIZED", "INTERNAL_ERROR", "NOT_FOUND"

  - `error.message` (string, required)
    Human-readable error message
    Example: Missing required field: truckId

## Response 404 fields (application/json):

  - `success` (boolean, required)
    Always false for errors
    Example: false

  - `error` (object, required)

  - `error.code` (string, required)
    Machine-readable error code
    Enum: "INVALID_PAYLOAD", "UNAUTHORIZED", "INTERNAL_ERROR", "NOT_FOUND"

  - `error.message` (string, required)
    Human-readable error message
    Example: Missing required field: truckId

## Response 500 fields (application/json):

  - `success` (boolean, required)
    Always false for errors
    Example: false

  - `error` (object, required)

  - `error.code` (string, required)
    Machine-readable error code
    Enum: "INVALID_PAYLOAD", "UNAUTHORIZED", "INTERNAL_ERROR", "NOT_FOUND"

  - `error.message` (string, required)
    Human-readable error message
    Example: Missing required field: truckId

