Download OpenAPI specification:Download
Managing projections and their data.
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 request identifier. |
| Accept required | string 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
| 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 request identifier. |
{- "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 request identifier. |
| 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 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 request identifier. |
# 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
| 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 request identifier. |
{- "execution_time": 0.123
}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 request identifier. |
{- "Version": {
- "api": 0,
- "major": 0,
- "minor": 0,
- "patch": 0
}
}Register a new projection
| 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 request identifier. |
| origin required | any Projection origin. |
any Projection descriptor config. | |
required | object Projection parameters. |
| description | string User-defined projection info. |
{- "origin": "events",
- "params": {
- "projection_type": "view",
- "descriptors": {
- "descriptor_type": "body"
}, - "targets": [
- "event_id",
- "account_id",
- "create_time",
- "end_time",
- "handler_id",
- "external_id",
- "stream_id",
- "source",
- "top_match",
- "match_result",
- "face_detections",
- "face_id",
- "attach_result",
- "gender",
- "age",
- "emotion",
- "ethnic_group",
- "liveness",
- "deepfake",
- "body_detections",
- "body_basic_attributes",
- "upper_body",
- "lower_body",
- "accessories",
- "tags",
- "user_data",
- "location",
- "mask",
- "track_id",
- "meta"
], - "filters": {
- "account_id": "5e350789-034f-4ba4-af1d-8f36b9eef663",
- "event_ids": [
- "403c5d63-2a5b-42fd-8215-ef1e51f9f6f6"
], - "event_id__gte": "1654abfe-cef2-434d-988d-be5784a1d081",
- "event_id__lt": "f14f5f5b-bfa0-45d5-a111-ceaff97b19f6",
- "create_time__gte": "2025-06-25T19:11:41.674Z",
- "create_time__lt": "2025-06-26T19:11:41.674Z",
- "end_time__gte": "2025-06-25T19:11:41.674Z",
- "end_time__lt": "2025-06-26T19:11:41.674Z",
- "handler_ids": [
- "8707d541-4a61-48fe-acb8-80f3c3990e40"
], - "external_ids": [
- "some-external-id"
], - "top_matching_candidates_label": "0fe192d6-77cf-4171-8a1e-bcdc9892d4d1",
- "top_similar_object_ids": [
- "bedb5a63-d47a-4dd1-820c-20891058eaf3"
], - "top_similar_external_ids": [
- "some-external-id"
], - "top_similar_object_similarity__gte": 0.5,
- "top_similar_object_similarity__lt": 0.6,
- "age__gte": 17,
- "age__lt": 19,
- "gender": 1,
- "emotions": [
- 1
], - "masks": [
- 1
], - "liveness": [
- 1
], - "deepfake": [
- 1
], - "ethnic_groups": [
- 1
], - "face_ids": [
- "b584e70c-5816-45c0-b3e9-4a9a6d0da506"
], - "user_data": "some-user-data",
- "sources": [
- "some-source"
], - "stream_ids": [
- "f1227aec-05a8-4ec5-8d0f-b64ac1cf38f4"
], - "tags": [
- "some-tag"
], - "cities": [
- "some-city"
], - "areas": [
- "some-area"
], - "districts": [
- "some-district"
], - "streets": [
- "some-street"
], - "house_numbers": [
- "some-house-number"
], - "geo_position": {
- "latitude_delta": 1,
- "longitude_delta": 1,
- "origin_latitude": 0,
- "origin_longitude": 0
}, - "track_ids": [
- "e7358c32-264c-4e8c-8c84-89ccd2353174"
], - "apparent_age__gte": 17,
- "apparent_age__lt": 19,
- "apparent_gender": [
- 1
], - "headwear_states": [
- 1
], - "sleeve_lengths": [
- "short"
], - "upper_clothing_colors": [
- "black"
], - "backpack_states": [
- 1
], - "lower_garment_colors": [
- "black"
], - "lower_garment_types": [
- "trousers"
], - "headwear_apparent_colors": [
- "black"
], - "shoes_apparent_colors": [
- "black"
], - "meta": {
- "foo.bar__like": "baz"
}
}
}, - "description": "My shiny event projection"
}{- "projection_id": "string"
}Get projections
| page | integer >= 1 Default: 1 a page number. |
| page_size | integer >= -1 Default: 1000 the 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 request identifier. |
{- "projections": [
- {
- "origin": "events",
- "params": {
- "projection_type": "view",
- "descriptors": {
- "descriptor_type": "body"
}, - "targets": [
- "event_id",
- "account_id",
- "create_time",
- "end_time",
- "handler_id",
- "external_id",
- "stream_id",
- "source",
- "top_match",
- "match_result",
- "face_detections",
- "face_id",
- "attach_result",
- "gender",
- "age",
- "emotion",
- "ethnic_group",
- "liveness",
- "deepfake",
- "body_detections",
- "body_basic_attributes",
- "upper_body",
- "lower_body",
- "accessories",
- "tags",
- "user_data",
- "location",
- "mask",
- "track_id",
- "meta"
], - "filters": {
- "account_id": "5e350789-034f-4ba4-af1d-8f36b9eef663",
- "event_ids": [
- "403c5d63-2a5b-42fd-8215-ef1e51f9f6f6"
], - "event_id__gte": "1654abfe-cef2-434d-988d-be5784a1d081",
- "event_id__lt": "f14f5f5b-bfa0-45d5-a111-ceaff97b19f6",
- "create_time__gte": "2025-06-25T19:11:41.674Z",
- "create_time__lt": "2025-06-26T19:11:41.674Z",
- "end_time__gte": "2025-06-25T19:11:41.674Z",
- "end_time__lt": "2025-06-26T19:11:41.674Z",
- "handler_ids": [
- "8707d541-4a61-48fe-acb8-80f3c3990e40"
], - "external_ids": [
- "some-external-id"
], - "top_matching_candidates_label": "0fe192d6-77cf-4171-8a1e-bcdc9892d4d1",
- "top_similar_object_ids": [
- "bedb5a63-d47a-4dd1-820c-20891058eaf3"
], - "top_similar_external_ids": [
- "some-external-id"
], - "top_similar_object_similarity__gte": 0.5,
- "top_similar_object_similarity__lt": 0.6,
- "age__gte": 17,
- "age__lt": 19,
- "gender": 1,
- "emotions": [
- 1
], - "masks": [
- 1
], - "liveness": [
- 1
], - "deepfake": [
- 1
], - "ethnic_groups": [
- 1
], - "face_ids": [
- "b584e70c-5816-45c0-b3e9-4a9a6d0da506"
], - "user_data": "some-user-data",
- "sources": [
- "some-source"
], - "stream_ids": [
- "f1227aec-05a8-4ec5-8d0f-b64ac1cf38f4"
], - "tags": [
- "some-tag"
], - "cities": [
- "some-city"
], - "areas": [
- "some-area"
], - "districts": [
- "some-district"
], - "streets": [
- "some-street"
], - "house_numbers": [
- "some-house-number"
], - "geo_position": {
- "latitude_delta": 1,
- "longitude_delta": 1,
- "origin_latitude": 0,
- "origin_longitude": 0
}, - "track_ids": [
- "e7358c32-264c-4e8c-8c84-89ccd2353174"
], - "apparent_age__gte": 17,
- "apparent_age__lt": 19,
- "apparent_gender": [
- 1
], - "headwear_states": [
- 1
], - "sleeve_lengths": [
- "short"
], - "upper_clothing_colors": [
- "black"
], - "backpack_states": [
- 1
], - "lower_garment_colors": [
- "black"
], - "lower_garment_types": [
- "trousers"
], - "headwear_apparent_colors": [
- "black"
], - "shoes_apparent_colors": [
- "black"
], - "meta": {
- "foo.bar__like": "baz"
}
}
}, - "description": "My shiny event projection"
}
]
}Get projection by ID
| projection_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 projection 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 request identifier. |
{- "projection": {
- "origin": "events",
- "params": {
- "projection_type": "view",
- "descriptors": {
- "descriptor_type": "body"
}, - "targets": [
- "event_id",
- "account_id",
- "create_time",
- "end_time",
- "handler_id",
- "external_id",
- "stream_id",
- "source",
- "top_match",
- "match_result",
- "face_detections",
- "face_id",
- "attach_result",
- "gender",
- "age",
- "emotion",
- "ethnic_group",
- "liveness",
- "deepfake",
- "body_detections",
- "body_basic_attributes",
- "upper_body",
- "lower_body",
- "accessories",
- "tags",
- "user_data",
- "location",
- "mask",
- "track_id",
- "meta"
], - "filters": {
- "account_id": "5e350789-034f-4ba4-af1d-8f36b9eef663",
- "event_ids": [
- "403c5d63-2a5b-42fd-8215-ef1e51f9f6f6"
], - "event_id__gte": "1654abfe-cef2-434d-988d-be5784a1d081",
- "event_id__lt": "f14f5f5b-bfa0-45d5-a111-ceaff97b19f6",
- "create_time__gte": "2025-06-25T19:11:41.674Z",
- "create_time__lt": "2025-06-26T19:11:41.674Z",
- "end_time__gte": "2025-06-25T19:11:41.674Z",
- "end_time__lt": "2025-06-26T19:11:41.674Z",
- "handler_ids": [
- "8707d541-4a61-48fe-acb8-80f3c3990e40"
], - "external_ids": [
- "some-external-id"
], - "top_matching_candidates_label": "0fe192d6-77cf-4171-8a1e-bcdc9892d4d1",
- "top_similar_object_ids": [
- "bedb5a63-d47a-4dd1-820c-20891058eaf3"
], - "top_similar_external_ids": [
- "some-external-id"
], - "top_similar_object_similarity__gte": 0.5,
- "top_similar_object_similarity__lt": 0.6,
- "age__gte": 17,
- "age__lt": 19,
- "gender": 1,
- "emotions": [
- 1
], - "masks": [
- 1
], - "liveness": [
- 1
], - "deepfake": [
- 1
], - "ethnic_groups": [
- 1
], - "face_ids": [
- "b584e70c-5816-45c0-b3e9-4a9a6d0da506"
], - "user_data": "some-user-data",
- "sources": [
- "some-source"
], - "stream_ids": [
- "f1227aec-05a8-4ec5-8d0f-b64ac1cf38f4"
], - "tags": [
- "some-tag"
], - "cities": [
- "some-city"
], - "areas": [
- "some-area"
], - "districts": [
- "some-district"
], - "streets": [
- "some-street"
], - "house_numbers": [
- "some-house-number"
], - "geo_position": {
- "latitude_delta": 1,
- "longitude_delta": 1,
- "origin_latitude": 0,
- "origin_longitude": 0
}, - "track_ids": [
- "e7358c32-264c-4e8c-8c84-89ccd2353174"
], - "apparent_age__gte": 17,
- "apparent_age__lt": 19,
- "apparent_gender": [
- 1
], - "headwear_states": [
- 1
], - "sleeve_lengths": [
- "short"
], - "upper_clothing_colors": [
- "black"
], - "backpack_states": [
- 1
], - "lower_garment_colors": [
- "black"
], - "lower_garment_types": [
- "trousers"
], - "headwear_apparent_colors": [
- "black"
], - "shoes_apparent_colors": [
- "black"
], - "meta": {
- "foo.bar__like": "baz"
}
}
}, - "description": "My shiny event projection"
}
}Update projection
| projection_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 projection 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 request identifier. |
| description required | string User-defined projection info. |
{- "description": "string"
}{- "error_code": 12022,
- "desc": "Bad/incomplete input data",
- "detail": "Failed to validate input json. Path: 'description', message: 'description should be a valid string",
}Unregister projection
| projection_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 projection 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 request identifier. |
{- "error_code": 48001,
- "desc": "Object not found",
- "detail": "Projection with id '7acc35cf-a3b2-4f87-8d8b-5496a2782d37' not registered",
}