Get a video feed file

GET/projects/{projectId}/entities/{entityId}/videoFeeds/{videoFeedId}/files/{fileId}

Base URL: https://api.tinkermode.com

Return a video feed file with the specified ID, including a presigned URL for downloading. The file may be a snapshot image or a video clip captured from the video feed.

Authentication

Send an Authorization header of the form ModeCloud <AUTH_CODE>.

Must contain the key of a user or service account with permissions to read video feeds of the entity or a project API key.

Path parameters

NameTypeRequiredConstraintsDescription
projectIdintegerYesThe unique ID for a specified project.
entityIdstringYesEntity ID (unique within project)
videoFeedIdstringYesThe unique ID for a specified video feed.
fileIdstringYesThe unique ID of a video feed file.

Responses

200 Successfully retrieved the video feed file.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
beginstringNoThe capture start timestamp. Format conforms to RFC3339.
endstringNoThe capture end timestamp. Present for video clips, omitted for images. Format conforms to RFC3339.
entityClassstringNoThe entity class of the owning entity.
entityIdstringNoThe entity that owns this file.
fileIdstringNoThe unique identifier of the file.
fileNamestringNoThe name of the file.
homeIdintegerNoThe home that owns this file.
projectIdintegerNoThe project that owns this file.
statusstringNoThe status of the file (e.g. requested, uploaded, external).
storageTypestringNoThe storage backend for the file (e.g. binstore, external).
typestringNoThe MIME type of the file (e.g. image/jpeg, video/mp4).
urlstringNoA presigned URL for downloading the file.
videoFeedIdstringNoThe video feed this file belongs to.

Response example

{
  "begin": "2025-05-10T10:30:00Z",
  "entityClass": "warehouse",
  "entityId": "camera-1",
  "fileId": "683a1b2c3d4e5f0012345678",
  "fileName": "snapshot_2025-05-10T10-30-00Z.jpg",
  "homeId": 1,
  "projectId": 1,
  "status": "uploaded",
  "storageType": "binstore",
  "type": "image/jpeg",
  "url": "https://download.tinkermode.com/download/v1.eyJzIjoiZW50aXR5ZmlsZXMiLCJrIjoiQS9lbnRpdGllcy9jYW1lcmEtMS9maWxlcy82ODNhMWIyYzNkNGU1ZjAwMTIzNDU2NzgiLCJmIjoic25hcHNob3QuanBnIn0=.1713178200.a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
  "videoFeedId": "63ce9a3e9bc89f001b228c80"
}

401 Authorization is required to access this resource.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

403 Request failed because of denied permission.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

404 The requested file does not exist or is not accessible.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

429 Request failed because of rate limit.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

500 An unexpected error has occurred.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

503 The service is temporarily unavailable.

Content type: application/json

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.