For the complete documentation index, see llms.txt. This page is also available as Markdown.

Recordings

Get video recordings

get
/v1/recordings

A recording is a collection of video files (color and thermal) and metadata files.

Required scopes
This endpoint requires the following scopes:
  • : Grants access to retrieve system data and information.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Responses
200

List of video recordings

application/json

Represents a video recording, including video files and metadata.

recording_idstringRequired

Identifier of the recording.

Example: 20260616_132946_+0200
is_being_recordedbooleanRequired

Whether this recording is currently being recorded.

Example: true
get/v1/recordings
GET /api/v1/recordings HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

List of video recordings

[
  {
    "recording_id": "20260616_132946_+0200",
    "is_being_recorded": false,
    "videos": [
      {
        "type": "color",
        "recording_id": "20260616_132946_+0200",
        "file_id": "main.mp4",
        "size": 104857600,
        "is_recording": false
      },
      {
        "type": "thermal",
        "recording_id": "20260616_132946_+0200",
        "file_id": "sub.mp4",
        "size": 52428800,
        "is_recording": false
      }
    ]
  },
  {
    "recording_id": "20260617_140000_+0200",
    "is_being_recorded": true,
    "videos": [
      {
        "type": "color",
        "recording_id": "20260617_140000_+0200",
        "file_id": "main.mp4",
        "size": 20480000,
        "is_recording": true
      }
    ]
  }
]

Get video recorder state

get
/v1/recordings/state

Returns the current video recorder state.

Required scopes
This endpoint requires the following scopes:
  • : Grants access to retrieve system data and information.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Responses
200

Current recorder state

application/json

Current state of the video recorder.

recording_idstringOptional

ID of the recording.

Example: 20260616_132946_+0200
started_recording_timestampstring · date-timeOptional

Last time a recording was started since boot, or zero otherwise.

Example: 2023-10-01T12:00:00Z
stopped_recording_timestampstring · date-timeOptional

Last time a recording was stopped, or current time if recording.

Example: 2023-10-01T12:00:00Z
is_recordingbooleanRequired

Whether the recorder is currently running.

Example: true
recording_secondsinteger · int32Optional

Number of seconds the current recording has been running.

Example: 120
available_spaceinteger · int64Required

Bytes available to store video recordings

occupied_spaceinteger · int64Optional

Bytes currently occupied by video recordings

total_spaceinteger · int64Required

Total bytes available for video recordings

get/v1/recordings/state
GET /api/v1/recordings/state HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Current recorder state

{
  "recording_id": "20260616_132946_+0200",
  "started_recording_timestamp": "2023-10-01T12:00:00Z",
  "stopped_recording_timestamp": "2023-10-01T12:00:00Z",
  "is_recording": true,
  "recording_seconds": 120,
  "available_space": 1,
  "occupied_space": 1,
  "total_space": 1
}

Get video recording

get
/v1/recordings/{recording_id}

Returns a video recording. A video recording is a collection of video files (color and thermal) and metadata.

Required scopes
This endpoint requires the following scopes:
  • : Grants access to retrieve system data and information.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Path parameters
recording_idstringRequired

ID of the video recording

Example: 20260616_132946_+0200
Responses
200

Details of the video recording

application/json

Represents a video recording, including video files and metadata.

recording_idstringRequired

Identifier of the recording.

Example: 20260616_132946_+0200
is_being_recordedbooleanRequired

Whether this recording is currently being recorded.

Example: true
get/v1/recordings/{recording_id}
GET /api/v1/recordings/{recording_id} HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "recording_id": "20260616_132946_+0200",
  "is_being_recorded": true,
  "videos": [
    {
      "type": "text",
      "recording_id": "20211126_165209_+0100",
      "file_id": "text",
      "size": 1,
      "is_recording": true
    }
  ]
}

Delete video recording

delete
/v1/recordings/{recording_id}

Deletes a video recording. A video recording is a collection of video files (color and thermal) and metadata.

Required scopes
This endpoint requires the following scopes:
  • : Allows sending commands to control the system.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Path parameters
recording_idstringRequired

ID of the video recording

Example: 20260616_132946_+0200
Responses
200

The command was sent successfully

No content

delete/v1/recordings/{recording_id}
DELETE /api/v1/recordings/{recording_id} HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Download video

get
/v1/recordings/{recording_id}/{file_id}

Returns a specific video of a recording.

Required scopes
This endpoint requires the following scopes:
  • : Grants access to retrieve system data and information.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Path parameters
recording_idstringRequired

ID of the video recording, URL-encoded.

Example: 20260616_132946_+0200
file_idstringRequired

Identifier of the video file to download, URL-encoded.

Example: color.mp4
Header parameters
RangestringOptional

Specifies byte range for partial downloads, enabling efficient buffering or browser playback.

Example: bytes=0-1048575
Responses
200

Full file content

string · binaryOptional
get/v1/recordings/{recording_id}/{file_id}
GET /api/v1/recordings/{recording_id}/{file_id} HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
binary

Start video recording

post
/v1/recordings/control/start

Starts a video recording. A video recording is a collection of video files (color and thermal) and metadata.

Required scopes
This endpoint requires the following scopes:
  • : Allows sending commands to control the system.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Responses
201

The command was sent successfully

No content

post/v1/recordings/control/start
POST /api/v1/recordings/control/start HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Stop video recording

post
/v1/recordings/control/stop

Stops the current video recording.

Required scopes
This endpoint requires the following scopes:
  • : Allows sending commands to control the system.
Authorizations
OAuth2clientCredentialsRequired

Plugin authentication using Bearer token. For more details, see Fotokite API Documentation.

Token URL:
Responses
201

The command was sent successfully

No content

post/v1/recordings/control/stop
POST /api/v1/recordings/control/stop HTTP/1.1
Host: 192.168.2.100:3128
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Last updated