Download OpenAPI specification:Download
VisionLabs LUNA Streams API. The API version is 1.
Service is intended for creation and management streams. "Stream" is an user logical entity.
Default port: 5160.
OpenAPI specification is the only valid document providing up-to-date information about the service LUNA Streams.
The specification can be used:
All the documents and code generated using this specification can include inaccuracies and should be carefully checked.
OpenAPI specification can be received using the /docs/spec resource. The "Accept" header should be set to "application/x-yaml".
Get service version.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "Version": {
- "api": 1,
- "major": 0,
- "minor": 0,
- "patch": 0
}
}
Create stream.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
account_id required | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Stream account ID for authentication in LUNA PLATFORM. |
name | string <= 128 characters Default: "" Stream name. |
description | string <= 512 characters Default: "" Stream description. |
required | any (stream_data) Stream setting parameters. |
required | object (stream_event_handler) Parameters related to sending the best shots to LUNA PLATFORM and processing them using handlers. |
object (stream_policies) Stream processing parameters. | |
object (location_to_be_created) Stream location parameters. | |
object (stream_autorestart) Stream autorestart parameters. | |
status | string Default: "pending" Enum: "pending" "pause" Stream processing initial status. |
group_name | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Stream group name. |
{- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "Stream 1",
- "description": "Stream with tcp stream type",
- "data": {
- "type": "tcp",
- "reference": "rtsp://some_stream_address",
- "roi": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "mode": "abs"
}, - "droi": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "event_handler": {
- "api_version": 6,
- "bestshot_handler": {
- "handler_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b"
}, - "detection_handler": {
- "handler_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}, - "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "policies": {
- "sending": {
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec",
- "number_of_bestshots_to_send": 1,
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "liveness": {
- "use_shoulders_liveness_filtration": false,
- "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "livenesses_weights": [
- 0.05,
- 0.45,
- 0.5
], - "mask_backgrounds_count": 300
}, - "filtering": {
- "min_score": 0.5187,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 123
}
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60
}, - "status": "pending",
- "group_name": "hd_stream_2"
}
{- "stream_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "version": 1
}
Get streams according to filters. The results are sorted by stream creation order, the oldest streams shown first.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
stream_id__gte | string <uuid> (stream_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: stream_id__gte=ae09126e-70a6-49c7-923f-df2320f08639 Stream id lower included bound. |
stream_id__lt | string <uuid> (stream_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: stream_id__lt=ae09126e-70a6-49c7-923f-df2320f08639 Stream id upper excluded bound. |
names | Array of strings (stream_name) [ items <= 128 characters ] Example: names=name1,name2 Stream name filter. Only streams with the specified names will be returned in the response. |
reference | string (stream_reference) <= 512 characters Example: reference=https://upload.wikimedia.org/wikipedia/commons/2xQ2gprbMUePw1s9gw9fvA== Stream reference filter. Only streams with the specified reference will be returned in the response. |
statuses | Array of strings (stream_status) Example: statuses=pending,pause Stream status filter - comma-separated list of status values. Only streams with the specified statuses will be returned in the response. |
create_time__gte | string <date-time> (time) Example: create_time__gte=2021-09-21T11:11:41.674Z Stream create time lower including bound filter in RFC 3339 format. Only streams with the creation time greater than or equal to the specified boundary will be returned in the response. |
create_time__lt | string <date-time> (time) Example: create_time__lt=2021-09-21T19:11:41.674Z Stream create time upper excluding bound filter in RFC 3339 format. Only streams with the creation time lower than the specified boundary will be returned in the response. |
group_name | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Example: group_name=group1 Group name filter. Only groups with the specified names will be returned in the response. |
order | string Enum: "asc" "desc" The sort order. By default, the results will be sorted in order of stream appearance in the database (may not match stream But if some stream ID range filters specified ( |
page | integer >= 1 Default: 1 Page number. |
page_size | integer [ 1 .. 1000 ] Default: 10 Number of items on page. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "streams": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "data": {
- "type": "udp",
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "event_handler": {
- "api_version": 6,
- "bestshot_handler": {
- "handler_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b"
}, - "detection_handler": {
- "handler_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}, - "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "policies": {
- "sending": {
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec",
- "number_of_bestshots_to_send": 1,
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "liveness": {
- "use_shoulders_liveness_filtration": false,
- "livenesses_weights": [
- 0,
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}, - "filtering": {
- "min_score": 0.5187,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "status": "pending",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Delete streams matching specified filters (OR).
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
stream_ids | Array of strings or null <uuid> (stream_id) <= 1000 items Stream ID filter. |
names | Array of strings or null (stream_name) <= 1000 items Stream name filter. |
{- "stream_ids": [
- "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
], - "names": [
- "some name"
]
}
{- "error_code": 12022,
- "desc": "Bad/incomplete input data",
- "detail": "Failed to validate input json. Path: '', message: 'Additional properties are not allowed ('faces' was unexpected)'",
}
Count streams according to the filters.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
names | Array of strings (stream_name) [ items <= 128 characters ] Example: names=name1,name2 Stream name filter. Only streams with the specified names will be returned in the response. |
reference | string (stream_reference) <= 512 characters Example: reference=https://upload.wikimedia.org/wikipedia/commons/2xQ2gprbMUePw1s9gw9fvA== Stream reference filter. Only streams with the specified reference will be returned in the response. |
statuses | Array of strings (stream_status) Example: statuses=pending,pause Stream status filter - comma-separated list of status values. Only streams with the specified statuses will be returned in the response. |
create_time__gte | string <date-time> (time) Example: create_time__gte=2021-09-21T11:11:41.674Z Stream create time lower including bound filter in RFC 3339 format. Only streams with the creation time greater than or equal to the specified boundary will be returned in the response. |
create_time__lt | string <date-time> (time) Example: create_time__lt=2021-09-21T19:11:41.674Z Stream create time upper excluding bound filter in RFC 3339 format. Only streams with the creation time lower than the specified boundary will be returned in the response. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "streams_count": 146
}
Get the stream by ID.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "data": {
- "type": "udp",
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "event_handler": {
- "api_version": 6,
- "bestshot_handler": {
- "handler_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b"
}, - "detection_handler": {
- "handler_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}, - "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "policies": {
- "sending": {
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec",
- "number_of_bestshots_to_send": 1,
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "liveness": {
- "use_shoulders_liveness_filtration": false,
- "livenesses_weights": [
- 0,
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}, - "filtering": {
- "min_score": 0.5187,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "status": "pending",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
Update stream fields: description, status.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
description | string <= 128 characters Default: "" New stream description. |
status | string Enum: "pending" "pause" "cancel" New stream processing status. |
{- "description": "Cancelled stream description.",
- "status": "cancel"
}
{- "error_code": 12022,
- "desc": "Bad/incomplete input data",
- "detail": "Failed to validate input json. Path: '', message: 'at least one field must have a value'",
}
Update existing stream. You should specify all the fields required for the stream in the request.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
account_id required | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Stream account ID for authentication in LUNA PLATFORM. |
name | string <= 128 characters Default: "" Stream name. |
description | string <= 512 characters Default: "" Stream description. |
required | any (stream_data) Stream setting parameters. |
required | object (stream_event_handler) Parameters related to sending the best shots to LUNA PLATFORM and processing them using handlers. |
object (stream_policies) Stream processing parameters. | |
object (location_to_be_created) Stream location parameters. | |
object (stream_autorestart) Stream autorestart parameters. | |
status | string Default: "pending" Enum: "pending" "pause" Stream processing initial status. |
group_name | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Stream group name. |
{- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "",
- "description": "",
- "data": {
- "type": "udp",
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "event_handler": {
- "api_version": 6,
- "bestshot_handler": {
- "handler_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b"
}, - "detection_handler": {
- "handler_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}, - "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "policies": {
- "sending": {
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec",
- "number_of_bestshots_to_send": 1,
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "liveness": {
- "use_shoulders_liveness_filtration": false,
- "livenesses_weights": [
- 0,
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}, - "filtering": {
- "min_score": 0.5187,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60
}, - "status": "pending",
- "group_name": "hd_stream_2"
}
{- "stream_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "version": 10
}
Remove the stream by ID.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 39001,
- "desc": "Object not found",
- "detail": "Stream with id '7acc35cf-a3b2-4f87-8d8b-5496a2782d37' not found",
}
See the streams in the queue.
limit required | integer >= 1 Maximum number of the objects in the response. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
names | Array of strings (stream_name) [ items <= 128 characters ] Example: names=name1,name2 Stream name filter. Only streams with the specified names will be returned in the response. |
group_ids | Array of strings <uuid> (group_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: group_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Group IDs. |
group_names | Array of strings (group_name) [^[a-zA-Z0-9_\-]{1,128}$] Example: group_names=group1,group2 Group names. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "streams": [
- {
- "status": "pending",
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "data": {
- "type": "udp",
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "event_handler": {
- "api_version": 6,
- "bestshot_handler": {
- "handler_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b"
}, - "detection_handler": {
- "handler_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}, - "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "policies": {
- "sending": {
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec",
- "number_of_bestshots_to_send": 1,
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "liveness": {
- "use_shoulders_liveness_filtration": false,
- "livenesses_weights": [
- 0,
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}, - "filtering": {
- "min_score": 0.5187,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Receive streams from the queue. The streams are received according to the specified filters.
The following actions are performed upon the request:
The information about the streams is returned in the response.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
required | object (post_streams_processing_queue_request_filters) |
limit required | integer >= 1 Maximum number of the streams to return. |
{- "filters": {
- "stream_ids": [
- "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
], - "names": [
- "some name"
], - "group_ids": [
- "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
], - "group_names": [
- "hd_stream_2"
]
}, - "limit": 1
}
{- "streams": [
- {
- "data": {
- "type": "udp",
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "event_handler": {
- "api_version": 6,
- "bestshot_handler": {
- "handler_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b"
}, - "detection_handler": {
- "handler_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}, - "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "policies": {
- "sending": {
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec",
- "number_of_bestshots_to_send": 1,
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "liveness": {
- "use_shoulders_liveness_filtration": false,
- "livenesses_weights": [
- 0,
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}, - "filtering": {
- "min_score": 0.5187,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "status": "in_progress",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Post information about streams processing.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
required | Array of objects Array of stream info. |
{- "streams": [
- {
- "error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "status": "in_progress",
- "version": 1,
- "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
{- "streams": {
- "modified": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "status": "in_progress",
- "version": 1
}
], - "unmodified": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "status": "in_progress",
- "version": 1
}
]
}
}
Get stream last frame preview.
To add preview for stream, use "post feedback on streams" request to create last frame preview.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 Stream ID. |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 39001,
- "desc": "Object not found",
- "detail": "Stream with id 00000000-0000-4000-a000-000000642312 not found",
}
Get stream live preview.
To add preview for stream, use "post feedback on streams" request to create live preview.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 Stream ID. |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 39001,
- "desc": "Object not found",
- "detail": "Stream with id 00000000-0000-4000-a000-000000642312 not found",
}
Get streams logs according to filters. The results are sorted by log creation order, the new streams logs shown first.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
statuses | Array of strings (stream_status) Example: statuses=pending,pause Stream status filter - comma-separated list of status values. Only streams with the specified statuses will be returned in the response. |
targets | Array of strings Default: "stream_id&targets=status&targets=error&targets=video_info&targets=log_time&targets=version&targets=preview" Items Enum: "stream_id" "status" "error" "video_info" "log_time" "version" "preview" Example: targets=status List of comma-separated stream logs targets. |
log_time__lt | string <date-time> (time) Example: log_time__lt=2021-09-21T19:11:41.674Z Stream log record time upper excluding bound filter in RFC 3339 format. Only stream logs with the record time lower than the specified boundary will be returned in the response. |
log_time__gte | string <date-time> (time) Example: log_time__gte=2021-09-21T11:11:41.674Z Stream log record time lower including bound filter in RFC 3339 format. Only stream log with the record time greater than or equal to the specified boundary will be returned in the response. |
page | integer >= 1 Default: 1 Page number. |
page_size | integer [ 1 .. 1000 ] Default: 10 Number of items on page. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "logs": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "log_time": "string",
- "error": null,
- "status": "in_progress",
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "version": 1,
- "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Delete streams logs older than specified date excluding last log entry.
Also you can run streams logs auto deletion by using LUNA_STREAMS_LOGS_CLEAR_INTERVAL
setting.
For more information see development documentation.
log_time__lt | string <date-time> (time) Example: log_time__lt=2021-09-21T19:11:41.674Z Stream log record time upper excluding bound filter in RFC 3339 format. Only stream logs with the record time lower than the specified boundary will be deleted. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "deleted_count": 1000
}
Create group.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
account_id required | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Account ID for authentication in the LUNA PLATFORM. |
group_name required | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Stream group name. |
description | string <= 256 characters Default: "" Stream group description. |
{- "account_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1",
- "description": "default stream group"
}
{- "group_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1"
}
Get groups according to filters. The results are sorted by group creation order, the oldest group shown first.
group_ids | Array of strings <uuid> (group_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: group_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Group IDs. |
group_names | Array of strings (group_name) [^[a-zA-Z0-9_\-]{1,128}$] Example: group_names=group1,group2 Group names. |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
page | integer >= 1 Default: 1 Page number. |
page_size | integer [ 1 .. 1000 ] Default: 10 Number of items on page. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
[- {
- "account_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1",
- "group_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "description": "default stream group",
- "create_time": "2018-08-11T09:11:41.674Z"
}, - {
- "account_id": "2d6cbe1f-cbbe-485a-ab37-b968cc5e8764",
- "group_name": "stream_group-2",
- "group_id": "a7d8fd45-fgga-453d-ac05-3e594054b813",
- "description": "stream group 2",
- "create_time": "2019-10-11T10:11:41.674Z"
}
]
Count of groups according to the filters.
group_ids | Array of strings <uuid> (group_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: group_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Group IDs. |
group_names | Array of strings (group_name) [^[a-zA-Z0-9_\-]{1,128}$] Example: group_names=group1,group2 Group names. |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "groups_count": 7
}
Get the group by name.
group_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the group ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "account_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1",
- "group_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "description": "default stream group",
- "create_time": "2018-08-11T09:11:41.674Z"
}
Update group fields: description
group_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the group ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
description required | string <= 256 characters Stream group description. |
{- "description": "old stream group"
}
{- "error_code": 12012,
- "desc": "Bad/incomplete input data",
- "detail": "Bad query parameters 'account_id'",
}
Remove the group by name.
group_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the group ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 12012,
- "desc": "Bad/incomplete input data",
- "detail": "Bad query parameters 'account_id'",
}
Attach (or detach) streams to a group.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
action required | string Enum: "attach" "detach" Action to perform: attach or detach streams to group. |
stream_ids required | Array of strings <uuid> (uuid) <= 1000 items [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Stream IDs. |
group_id required | string <uuid> (group_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Stream group ID. |
{- "action": "attach",
- "stream_ids": [
- "557d54ec-29ad-4f3c-93b4-c9092ef12515"
], - "group_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}
{- "error_code": 12012,
- "desc": "Bad/incomplete input data",
- "detail": "Bad query parameters 'account_id'",
}
Get service OpenApi documentation. If Accept request header is of type application/x-yaml
,
returns documentation in yaml
format or returns html
documentation, if Accept-Type is text/html
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Accept required | string (accept_docs_handler) Enum: "application/x-yaml" "text/html" Acceptable type of receiving data. |
{- "error_code": 12024,
- "detail": "Bad/incomplete input data",
- "desc": "Unsupported media type",
}
Get sphinx documentation - Development Manual. After the request you will be redirected to the page /docs/dev/index.html
Accept | string Enum: "application/json" "application/msgpack" Preferred response content type. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 1,
- "detail": "internal server error",
- "desc": "internal server error",
}
Get service configuration. Passwords and tokens will be hidden in the response.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Accept | string Enum: "application/json" "text/plain" Acceptable type of receiving data. |
{- "INFLUX_MONITORING": {
- "SEND_DATA_FOR_MONITORING": 0,
- "VERSION": 2,
- "ORGANIZATION": "ORGANIZATION_NAME",
- "TOKEN": "********",
- "BUCKET": "luna_monitoring",
- "HOST": "127.0.0.1",
- "PORT": 8086,
- "USE_SSL": 0,
- "FLUSHING_PERIOD": 1
}
}
Get list of service plugins
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "plugins": [
- {
- "name": "foo",
- "running": 1
}
]
}
Create stream .
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
account_id required | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Stream account ID for authentication in LUNA PLATFORM. |
name | string <= 128 characters Default: "" Stream name. |
description | string <= 512 characters Default: "" Stream description. |
required | any (stream_data_v2) Stream setting parameters. |
object (location_to_be_created) Stream location parameters. | |
object (stream_autorestart) Stream autorestart parameters. | |
status | string Default: "pending" Enum: "pending" "pause" Stream processing initial status. |
group_name | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Stream group name. |
{- "account_id": "d00e78dd-b91e-4686-866c-d69a493e5b5f",
- "data": {
- "analytics": [
- {
- "mode": 3,
- "enabled": true,
- "droi": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "mode": "abs"
}, - "filtering": {
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "detection_yaw_threshold": 40,
- "min_body_size_threshold": 250,
- "min_score_face": 0.5187,
- "min_score_body": 0.5,
- "mouth_occlusion_threshold": 0,
- "yaw_collection_mode": false,
- "yaw_number": 1
}, - "liveness": {
- "liveness_mode": 1,
- "liveness_threshold": 0.6,
- "livenesses_weights": [
- 0.45,
- 0.5
], - "mask_backgrounds_count": 300,
- "number_of_liveness_checks": 10,
- "use_flying_faces_liveness_filtration": true,
- "use_mask_liveness_filtration": true
}, - "primary_track_policy": {
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140,
- "use_primary_track_policy": false
}, - "sending": {
- "body": {
- "send_only_full_set": true,
- "delete_track_after_sending": true
}, - "silent_period": 0,
- "time_period_of_searching": -1,
- "full_frame_settings": 1,
- "type": "sec",
- "bestshot_settings": {
- "face_bestshots_to_send": 1,
- "body_bestshots_to_send": 1
}
}, - "event_handler": {
- "type": "luna_handler",
- "handler_id": "0b61258c-434f-45d6-964f-2131e58cd58c",
- "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}
}
], - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "roi": {
- "x": 0,
- "y": 0,
- "width": 0,
- "height": 0,
- "mode": "abs"
}, - "rotation": 0,
- "reference": "rtsp://some_stream_address",
- "type": "tcp"
}, - "description": "http video test stream",
- "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "name": "http video test stream",
- "group_name": "hd_stream_2",
- "status": "pending"
}
{- "stream_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "version": 1
}
Get streams according to filters. The results are sorted by stream creation order, the oldest streams shown first.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
names | Array of strings (stream_name) [ items <= 128 characters ] Example: names=name1,name2 Stream name filter. Only streams with the specified names will be returned in the response. |
reference | string (stream_reference) <= 512 characters Example: reference=https://upload.wikimedia.org/wikipedia/commons/2xQ2gprbMUePw1s9gw9fvA== Stream reference filter. Only streams with the specified reference will be returned in the response. |
statuses | Array of strings (stream_status) Example: statuses=pending,pause Stream status filter - comma-separated list of status values. Only streams with the specified statuses will be returned in the response. |
create_time__gte | string <date-time> (time) Example: create_time__gte=2021-09-21T11:11:41.674Z Stream create time lower including bound filter in RFC 3339 format. Only streams with the creation time greater than or equal to the specified boundary will be returned in the response. |
create_time__lt | string <date-time> (time) Example: create_time__lt=2021-09-21T19:11:41.674Z Stream create time upper excluding bound filter in RFC 3339 format. Only streams with the creation time lower than the specified boundary will be returned in the response. |
group_name | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Example: group_name=group1 Group name filter. Only groups with the specified names will be returned in the response. |
page | integer >= 1 Default: 1 Page number. |
page_size | integer [ 1 .. 1000 ] Default: 10 Number of items on page. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "streams": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "data": {
- "type": "udp",
- "analytics": [
- {
- "enabled": true,
- "mode": 1,
- "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "filtering": {
- "min_score_face": 0.5187,
- "min_score_body": 0.5,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "sending": {
- "body": {
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "bestshot_settings": {
- "type": 1,
- "face_bestshots_to_send": 1,
- "body_bestshots_to_send": 1
}, - "full_frame_settings": 1,
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec"
}, - "event_handler": {
- "type": "luna_handler",
- "handler_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}, - "liveness": {
- "livenesses_weights": [
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}
}
], - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "status": "pending",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Delete streams matching specified filters (OR).
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
stream_ids | Array of strings or null <uuid> (stream_id) <= 1000 items Stream ID filter. |
names | Array of strings or null (stream_name) <= 1000 items Stream name filter. |
{- "stream_ids": [
- "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
], - "names": [
- "some name"
]
}
{- "error_code": 12022,
- "desc": "Bad/incomplete input data",
- "detail": "Failed to validate input json. Path: '', message: 'Additional properties are not allowed ('faces' was unexpected)'",
}
Count streams according to the filters.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
names | Array of strings (stream_name) [ items <= 128 characters ] Example: names=name1,name2 Stream name filter. Only streams with the specified names will be returned in the response. |
reference | string (stream_reference) <= 512 characters Example: reference=https://upload.wikimedia.org/wikipedia/commons/2xQ2gprbMUePw1s9gw9fvA== Stream reference filter. Only streams with the specified reference will be returned in the response. |
statuses | Array of strings (stream_status) Example: statuses=pending,pause Stream status filter - comma-separated list of status values. Only streams with the specified statuses will be returned in the response. |
create_time__gte | string <date-time> (time) Example: create_time__gte=2021-09-21T11:11:41.674Z Stream create time lower including bound filter in RFC 3339 format. Only streams with the creation time greater than or equal to the specified boundary will be returned in the response. |
create_time__lt | string <date-time> (time) Example: create_time__lt=2021-09-21T19:11:41.674Z Stream create time upper excluding bound filter in RFC 3339 format. Only streams with the creation time lower than the specified boundary will be returned in the response. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "streams_count": 146
}
Update existing stream. You should specify all the fields required for the stream in the request.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
account_id required | string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Stream account ID for authentication in LUNA PLATFORM. |
name | string <= 128 characters Default: "" Stream name. |
description | string <= 512 characters Default: "" Stream description. |
required | any (stream_data_v2) Stream setting parameters. |
object (location_to_be_created) Stream location parameters. | |
object (stream_autorestart) Stream autorestart parameters. | |
status | string Default: "pending" Enum: "pending" "pause" Stream processing initial status. |
group_name | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Stream group name. |
{- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "",
- "description": "",
- "data": {
- "type": "udp",
- "analytics": [
- {
- "enabled": true,
- "mode": 1,
- "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "filtering": {
- "min_score_face": 0.5187,
- "min_score_body": 0.5,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "sending": {
- "body": {
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "bestshot_settings": {
- "type": 1,
- "face_bestshots_to_send": 1,
- "body_bestshots_to_send": 1
}, - "full_frame_settings": 1,
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec"
}, - "event_handler": {
- "type": "luna_handler",
- "handler_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}, - "liveness": {
- "livenesses_weights": [
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}
}
], - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60
}, - "status": "pending",
- "group_name": "hd_stream_2"
}
{- "stream_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "version": 10
}
Get the stream by ID.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "data": {
- "type": "udp",
- "analytics": [
- {
- "enabled": true,
- "mode": 1,
- "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "filtering": {
- "min_score_face": 0.5187,
- "min_score_body": 0.5,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "sending": {
- "body": {
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "bestshot_settings": {
- "type": 1,
- "face_bestshots_to_send": 1,
- "body_bestshots_to_send": 1
}, - "full_frame_settings": 1,
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec"
}, - "event_handler": {
- "type": "luna_handler",
- "handler_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}, - "liveness": {
- "livenesses_weights": [
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}
}
], - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "status": "pending",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
Update stream fields: description, status.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
description | string <= 128 characters Default: "" New stream description. |
status | string Enum: "pending" "pause" "cancel" New stream processing status. |
{- "description": "Cancelled stream description.",
- "status": "cancel"
}
{- "error_code": 12022,
- "desc": "Bad/incomplete input data",
- "detail": "Failed to validate input json. Path: '', message: 'at least one field must have a value'",
}
Remove the stream by ID.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the stream ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 39001,
- "desc": "Object not found",
- "detail": "Stream with id '7acc35cf-a3b2-4f87-8d8b-5496a2782d37' not found",
}
See the streams in the queue.
limit required | integer >= 1 Maximum number of the objects in the response. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
names | Array of strings (stream_name) [ items <= 128 characters ] Example: names=name1,name2 Stream name filter. Only streams with the specified names will be returned in the response. |
group_ids | Array of strings <uuid> (group_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: group_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Group IDs. |
group_names | Array of strings (group_name) [^[a-zA-Z0-9_\-]{1,128}$] Example: group_names=group1,group2 Group names. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "streams": [
- {
- "status": "pending",
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "data": {
- "type": "udp",
- "analytics": [
- {
- "enabled": true,
- "mode": 1,
- "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "filtering": {
- "min_score_face": 0.5187,
- "min_score_body": 0.5,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "sending": {
- "body": {
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "bestshot_settings": {
- "type": 1,
- "face_bestshots_to_send": 1,
- "body_bestshots_to_send": 1
}, - "full_frame_settings": 1,
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec"
}, - "event_handler": {
- "type": "luna_handler",
- "handler_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}, - "liveness": {
- "livenesses_weights": [
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}
}
], - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Receive streams from the queue. The streams are received according to the specified filters.
The following actions are performed upon the request:
The information about the streams is returned in the response.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
required | object (post_streams_processing_queue_request_filters) |
limit required | integer >= 1 Maximum number of the streams to return. |
{- "filters": {
- "stream_ids": [
- "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
], - "names": [
- "some name"
], - "group_ids": [
- "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
], - "group_names": [
- "hd_stream_2"
]
}, - "limit": 1
}
{- "streams": [
- {
- "data": {
- "type": "udp",
- "analytics": [
- {
- "enabled": true,
- "mode": 1,
- "droi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "filtering": {
- "min_score_face": 0.5187,
- "min_score_body": 0.5,
- "detection_yaw_threshold": 40,
- "detection_pitch_threshold": 40,
- "detection_roll_threshold": 30,
- "yaw_number": 1,
- "yaw_collection_mode": false,
- "mouth_occlusion_threshold": 0.1,
- "min_body_size_threshold": 0.1
}, - "primary_track_policy": {
- "use_primary_track_policy": false,
- "best_shot_min_size": 70,
- "best_shot_proper_size": 140
}, - "sending": {
- "body": {
- "send_only_full_set": true,
- "delete_track_after_sending": false
}, - "bestshot_settings": {
- "type": 1,
- "face_bestshots_to_send": 1,
- "body_bestshots_to_send": 1
}, - "full_frame_settings": 1,
- "time_period_of_searching": -1,
- "silent_period": 0,
- "type": "sec"
}, - "event_handler": {
- "type": "luna_handler",
- "handler_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "authorization": {
- "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k"
}
}, - "healthcheck": {
- "max_error_count": 10,
- "period": 3600,
- "retry_delay": 5,
- "timeout": 2147483647
}, - "liveness": {
- "livenesses_weights": [
- 0.45,
- 0.5
], - "use_mask_liveness_filtration": false,
- "use_flying_faces_liveness_filtration": false,
- "liveness_mode": 0,
- "number_of_liveness_checks": 10,
- "liveness_threshold": 0.6,
- "mask_backgrounds_count": 300
}
}
], - "frame_processing_mode": "auto",
- "real_time_mode_fps": 0,
- "ffmpeg_threads_number": 0,
- "roi": {
- "x": 65536,
- "y": 65536,
- "width": 65536,
- "height": 65536,
- "mode": "abs"
}, - "rotation": 0,
- "preferred_program_stream_frame_width": 800,
- "endless": true
}, - "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
- "name": "some name",
- "description": "some description",
- "location": {
- "city": "Moscow",
- "area": "Central",
- "district": "Basmanny",
- "street": "Podsosensky lane",
- "house_number": "23 bldg.3",
- "geo_position": {
- "longitude": 36.616,
- "latitude": 55.752
}
}, - "autorestart": {
- "restart": 0,
- "attempt_count": 10,
- "delay": 60,
- "current_attempt": 0,
- "last_attempt_time": "2018-08-11T09:11:41.674Z",
- "status": "disabled"
}, - "version": 1,
- "create_time": "2018-08-11T09:11:41.674Z",
- "status": "in_progress",
- "last_error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "groups": [
- "hd_stream_2"
], - "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Post information about streams processing.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
required | Array of objects Array of stream info. |
{- "streams": [
- {
- "error": null,
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "status": "in_progress",
- "version": 1,
- "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
{- "streams": {
- "modified": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "status": "in_progress",
- "version": 1
}
], - "unmodified": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "status": "in_progress",
- "version": 1
}
]
}
}
Get stream last frame preview.
To add preview for stream, use "post feedback on streams" request to create last frame preview.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 Stream ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 39001,
- "desc": "Object not found",
- "detail": "Stream with id 00000000-0000-4000-a000-000000642312 not found",
}
Get stream live preview.
To add preview for stream, use "post feedback on streams" request to create live preview.
stream_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 Stream ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 39001,
- "desc": "Object not found",
- "detail": "Stream with id 00000000-0000-4000-a000-000000642312 not found",
}
Get streams logs according to filters. The results are sorted by log creation order, the new streams logs shown first.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
stream_ids | Array of strings <uuid> (stream_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: stream_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Stream ID filter. Only streams with the specified ids will be returned in the response. |
statuses | Array of strings (stream_status) Example: statuses=pending,pause Stream status filter - comma-separated list of status values. Only streams with the specified statuses will be returned in the response. |
targets | Array of strings Default: "stream_id&targets=status&targets=error&targets=video_info&targets=log_time&targets=version&targets=preview" Items Enum: "stream_id" "status" "error" "video_info" "log_time" "version" "preview" Example: targets=status List of comma-separated stream logs targets. |
log_time__lt | string <date-time> (time) Example: log_time__lt=2021-09-21T19:11:41.674Z Stream log record time upper excluding bound filter in RFC 3339 format. Only stream logs with the record time lower than the specified boundary will be returned in the response. |
log_time__gte | string <date-time> (time) Example: log_time__gte=2021-09-21T11:11:41.674Z Stream log record time lower including bound filter in RFC 3339 format. Only stream log with the record time greater than or equal to the specified boundary will be returned in the response. |
page | integer >= 1 Default: 1 Page number. |
page_size | integer [ 1 .. 1000 ] Default: 10 Number of items on page. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "logs": [
- {
- "stream_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
- "log_time": "string",
- "error": null,
- "status": "in_progress",
- "video_info": {
- "width": 1920,
- "height": 1080,
- "frame_rate": 25,
- "bit_rate": 25,
- "gop_size": 25,
- "start_time": "2018-08-11T09:11:41.674Z",
- "duration": 0,
- "progress": 1
}, - "version": 1,
- "preview": {
- "live": {
- "url": "../dictionary"
}, - "last_frame": {
- "url": "../dictionary"
}
}
}
]
}
Delete streams logs older than specified date excluding last log entry.
log_time__lt | string <date-time> (time) Example: log_time__lt=2021-09-21T19:11:41.674Z Stream log record time upper excluding bound filter in RFC 3339 format. Only stream logs with the record time lower than the specified boundary will be deleted. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "deleted_count": 1000
}
Create group.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
account_id required | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Account ID for authentication in the LUNA PLATFORM. |
group_name required | string (group_name) ^[a-zA-Z0-9_\-]{1,128}$ Stream group name. |
description | string <= 256 characters Default: "" Stream group description. |
{- "account_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1",
- "description": "default stream group"
}
{- "group_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1"
}
Get groups according to filters. The results are sorted by group creation order, the oldest group shown first.
group_ids | Array of strings <uuid> (group_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: group_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Group IDs. |
group_names | Array of strings (group_name) [^[a-zA-Z0-9_\-]{1,128}$] Example: group_names=group1,group2 Group names. |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
page | integer >= 1 Default: 1 Page number. |
page_size | integer [ 1 .. 1000 ] Default: 10 Number of items on page. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
[- {
- "account_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1",
- "group_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "description": "default stream group",
- "create_time": "2018-08-11T09:11:41.674Z"
}, - {
- "account_id": "2d6cbe1f-cbbe-485a-ab37-b968cc5e8764",
- "group_name": "stream_group-2",
- "group_id": "a7d8fd45-fgga-453d-ac05-3e594054b813",
- "description": "stream group 2",
- "create_time": "2019-10-11T10:11:41.674Z"
}
]
Count of groups according to the filters.
group_ids | Array of strings <uuid> (group_id) [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Example: group_ids=ae09126e-70a6-49c7-923f-df2320f08639,68b363eb-600a-4e72-afb3-8c4196e385ce Group IDs. |
group_names | Array of strings (group_name) [^[a-zA-Z0-9_\-]{1,128}$] Example: group_names=group1,group2 Group names. |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "groups_count": 7
}
Get the group by name.
group_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the group ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "account_id": "ee4c42b6-23ae-410e-a2aa-a4220e64ba4b",
- "group_name": "stream_group-1",
- "group_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
- "description": "default stream group",
- "create_time": "2018-08-11T09:11:41.674Z"
}
Update group fields: description
group_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the group ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
description required | string <= 256 characters Stream group description. |
{- "description": "old stream group"
}
{- "error_code": 12012,
- "desc": "Bad/incomplete input data",
- "detail": "Bad query parameters 'account_id'",
}
Remove the group by name.
group_id required | string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515 ID of the group ( |
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 12012,
- "desc": "Bad/incomplete input data",
- "detail": "Bad query parameters 'account_id'",
}
Attach (or detach) streams to a group.
account_id | string <uuid> (account_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Example: account_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb Account ID. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Content-Type | string Value: "application/json" Content type is |
action required | string Enum: "attach" "detach" Action to perform: attach or detach streams to group. |
stream_ids required | Array of strings <uuid> (uuid) <= 1000 items [^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...] Stream IDs. |
group_id required | string <uuid> (group_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]... Stream group ID. |
{- "action": "attach",
- "stream_ids": [
- "557d54ec-29ad-4f3c-93b4-c9092ef12515"
], - "group_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6"
}
{- "error_code": 12012,
- "desc": "Bad/incomplete input data",
- "detail": "Bad query parameters 'account_id'",
}
Get service OpenApi documentation. If Accept request header is of type application/x-yaml
,
returns documentation in yaml
format or returns html
documentation, if Accept-Type is text/html
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Accept required | string (accept_docs_handler) Enum: "application/x-yaml" "text/html" Acceptable type of receiving data. |
{- "error_code": 12024,
- "detail": "Bad/incomplete input data",
- "desc": "Unsupported media type",
}
Get sphinx documentation - Development Manual. After the request you will be redirected to the page /docs/dev/index.html
Accept | string Enum: "application/json" "application/msgpack" Preferred response content type. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "error_code": 1,
- "detail": "internal server error",
- "desc": "internal server error",
}
Get service configuration. Passwords and tokens will be hidden in the response.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
Accept | string Enum: "application/json" "text/plain" Acceptable type of receiving data. |
{- "INFLUX_MONITORING": {
- "SEND_DATA_FOR_MONITORING": 0,
- "VERSION": 2,
- "ORGANIZATION": "ORGANIZATION_NAME",
- "TOKEN": "********",
- "BUCKET": "luna_monitoring",
- "HOST": "127.0.0.1",
- "PORT": 8086,
- "USE_SSL": 0,
- "FLUSHING_PERIOD": 1
}
}
Get list of service plugins
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "plugins": [
- {
- "name": "foo",
- "running": 1
}
]
}
Get statistics of success and failed requests to the service in prometheus format.
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
# HELP request_count_total Counter of requests # TYPE request_count_total counter request_count_total{path="GET:/healthcheck",status_code="200"} 1.0
Get health of service.
include_luna_services | integer Default: 0 Enum: 0 1 Whether to perform healthchecks for dependent LUNA services. |
Luna-Request-Id | string <timestamp,uuid> ^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4... Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a External request ID. Helps to uniquely identify messages in system logs that correspond to particular requests. If it was not set, the system will set it to the default format ("timestamp, UUID"). It will be returned with the response. |
{- "execution_time": 0.123
}