LUNA PLATFORM 5 API (v.6.19.6)

Download OpenAPI specification:Download

API VisionLabs Luna Platform 5. Версия API – 6.

Спецификация OpenAPI – единственный документ, содержащий актуальную информацию о API сервиса.

Спецификация может использоваться:

  • Инструментами создания документации для визуализации API.
  • Инструментами генерации кода.

Все документы и код, созданные с использованием этой спецификации, могут содержать неточности, и их следует тщательно проверять.

Спецификацию OpenAPI можно получить с помощью ресурса /docs/spec. Заголовок "Accept" должен принимать значение "application/x-yaml".

version

get version

Позволяет получить версии всех сервисов.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{
  • "LUNA PLATFORM": {
    },
  • "luna-api": {
    },
  • "luna-events": {
    },
  • "luna-faces": {
    },
  • "luna-image-store-bodies-samples": {
    },
  • "luna-image-store-faces-samples": {
    },
  • "luna-image-store-images": {
    },
  • "luna-handlers": {
    },
  • "luna-tasks": {
    },
  • "luna-matcher-proxy": {
    },
  • "luna-remote-sdk": {
    },
  • "luna-lambda": {
    }
}

version options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

accounts

create account

Создать аккаунт.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта для создания нового аккаунта.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
login
required
string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$

Электронная почта аккаунта.

password
required
string (password) [ 3 .. 128 ] characters ^.{3,128}$

Пароль аккаунта.

account_type
required
string (account_type_for_creation)
Enum: "advanced_user" "user"

Тип аккаунта:

  • user - позволяет взаимодействовать только со своими данными

  • advanced_user - позволяет взаимодействовать со своими данными и просматривать данные других аккаунтов

description
string (account_description) <= 128 characters
Default: ""

Описание аккаунта.

Responses

Request samples

Content type
application/json
{
  • "login": "mylogin@gmail.com",
  • "password": "string",
  • "account_type": "advanced_user",
  • "description": "main admin account"
}

Response samples

Content type
application/json
{}

accounts options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта для создания нового аккаунта.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

account

get account

Позволяет получить информацию об аккаунте.

Authorizations:
BasicAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

url = f"{baseUri}/account"
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
  • "login": "mylogin@gmail.com",
  • "account_type": "advanced_user",
  • "description": "main admin account",
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "last_update_time": "2018-08-11T09:11:41.674Z"
}

patch account

Позволяет обновить аккаунт. Должно быть указано как минимум одно поле.

Authorizations:
BasicAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
non-empty
login
string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$

Электронная почта аккаунта.

password
string (password) [ 3 .. 128 ] characters ^.{3,128}$

Пароль аккаунта.

account_type
string (account_type_for_creation)
Enum: "advanced_user" "user"

Тип аккаунта:

  • user - позволяет взаимодействовать только со своими данными

  • advanced_user - позволяет взаимодействовать со своими данными и просматривать данные других аккаунтов

description
string (account_description) <= 128 characters
Default: ""

Описание аккаунта.

Responses

Request samples

Content type
application/json
{
  • "login": "mylogin@gmail.com",
  • "password": "string",
  • "account_type": "advanced_user",
  • "description": "main admin account"
}

Response samples

Content type
application/json
Example
{
  • "error_code": 12022,
  • "desc": "Bad/incomplete input data",
  • "detail": "Failed to validate input json. Path: 'extra_field', message: 'extra fields not permitted'"
}

accounts options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

tokens

create token

Создать токен.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
description
string (token_description) <= 128 characters
Default: ""

Описание токена.

expiration_time
required
string or null <date-time>

Время окончания действия токена в формате RFC 3339. Значение null означает, что токен не имеет срока окончания.

required
object (permissions)

Разрешения для токена. Значение [] означает запрет всех разрешений.

visibility_area
string (visibility_area)
Default: "all"
Enum: "account" "all"

Задает видимость данных для токена.

account - данные только этого аккаунта могут быть получены с помощью GET-запросов.

all - данные всех существующих аккаунтов могут быть получены с помощью GET-запросов. Данное значение может быть задано для типа аккаунта advanced_user.

Responses

Request samples

Content type
application/json
{
  • "description": "main account token",
  • "expiration_time": "2050-11-11T11:11:11.111+03:00",
  • "permissions": {
    },
  • "visibility_area": "all"
}

Response samples

Content type
application/json
{
  • "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
  • "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
  • "url": "/6/tokens/557d54ec-29ad-4f3c-93b4-c9092ef12515",
}

get tokens

Позволяет получить информацию о токенах.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

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-Account-Id".

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create token
url = f"{baseUri}/tokens"
headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}
payload = {"permissions": {"face": ["view"]}, "description": "description"}
requests.post(url, json=payload, headers=headers)

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="
}
url = f"{baseUri}/tokens"
response = requests.get(url, headers=headers, params={"page": 1, "page_size": 10})

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "tokens": [
    ]
}

tokens options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

replace token

Позволяет обновить токен. Нельзя обновить часть токена, нужно задать все поля для токена.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
token_id
required
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb

Идентификатор токена.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
description
string (token_description) <= 128 characters
Default: ""

Описание токена.

expiration_time
required
string or null <date-time>

Время окончания действия токена в формате RFC 3339. Значение null означает, что токен не имеет срока окончания.

required
object (permissions)

Разрешения для токена. Значение [] означает запрет всех разрешений.

visibility_area
string (visibility_area)
Default: "all"
Enum: "account" "all"

Задает видимость данных для токена.

account - данные только этого аккаунта могут быть получены с помощью GET-запросов.

all - данные всех существующих аккаунтов могут быть получены с помощью GET-запросов. Данное значение может быть задано для типа аккаунта advanced_user.

Responses

Request samples

Content type
application/json
{
  • "description": "main account token",
  • "expiration_time": "2050-11-11T11:11:11.111+03:00",
  • "permissions": {
    },
  • "visibility_area": "account"
}

Response samples

Content type
application/json
{
  • "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
  • "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
  • "url": "/6/tokens/557d54ec-29ad-4f3c-93b4-c9092ef12515",
}

get token

Позволяет получить токен по его идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
token_id
required
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb

Идентификатор токена.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library
import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="
}
url = f"{baseUri}/tokens"
payload = {"permissions": {"face": ["view"]}, "description": "description", "expiration_time": None}
tokenId = requests.post(url, json=payload, headers=headers).json()["token_id"]

url = f"{baseUri}/tokens/{tokenId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "description": "main account token",
  • "expiration_time": "2050-11-11T11:11:11.111+03:00",
  • "permissions": {
    },
  • "visibility_area": "account",
  • "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbklkIjoiN2Q0MjYwNmEtZmM3NS00NDU4LWE3OGUtOWYzNGM2MjIyZWQyIiwiZXhwaXJhdGlvblRpbWUiOm51bGwsImFjY291bnRJZCI6IjdkYjUzNThiLWZjMzMtNDIwZC1hYTgzLTk5YTRkOWY0MGM0MSJ9.kDL5oLTJaxKyYbwmKV1lejxrzsFoFzx5VOzvTR-i90k",
  • "token_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
  • "account_id": "557d54ec-29ad-4f3c-93b4-c9092ef12515",
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "last_update_time": "2018-08-11T09:11:41.674Z"
}

delete token

Позволяет удалить токен по его идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
token_id
required
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb

Идентификатор токена.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library
import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="
}
url = f"{baseUri}/tokens"
payload = {"permissions": {"face": ["view"]}, "description": "description", "expiration_time": None}
tokenId = requests.post(url, json=payload, headers=headers).json()["token_id"]

url = f"{baseUri}/tokens/{tokenId}"
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
{}

token options

Позволяет получить параметры для ресурса.

path Parameters
token_id
required
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 8950722f-3fd4-4223-b48f-03f95f0e8dfb

Идентификатор токена.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

credentials verifier

verify credentials

Позволяет проверить аккаунт, логин с паролем или токен.

  • В случае успешной верификации account_id, вернется account_type
  • В случае успешной верификации login/password, вернутся account_id и account_type
  • В случае успешной верификации token, вернутся account_type и permissions для токена
  • В случае неуспешной верификации будет возвращена ошибка
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
One of
login
required
string (login) [ 3 .. 128 ] characters ^[a-z0-9_\-\.]+@[a-z]+\.[a-z]{2,}$

Электронная почта аккаунта.

password
required
string (password) [ 3 .. 128 ] characters ^.{3,128}$

Пароль аккаунта.

Responses

Request samples

Content type
application/json
Example
{
  • "login": "mylogin@gmail.com",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "account_type": "advanced_user",
  • "permissions": {
    },
  • "account_id": "string"
}

credentials verifier options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

sdk

sdk resource

Позволяет обнаруживать лица и/или тела и оценивать атрибуты на входных изображениях. После выполнения запроса полученные данные не сохраняются в базе данных или Image Store, а только возвращаются в ответе.

Порядок входящих изображений соответствует порядку элементов в выходном JSON.

Если входящее изображение повреждено, то для него возвращается ошибка. Обработка остальных изображений продолжается в обычном режиме.

Примечания к входящим данным:

  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут проигнорированы.
Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
image_type
integer
Default: 0
Enum: 0 1 2

Тип входного изображения. 0 – необработанное изображение, 1 – биометрический образец лица, 2 – биометрический образец тела.

estimate_people_count
integer (int01)
Default: 0
Enum: 0 1

Следует ли выполнять оценку количества людей на изображении.

Для выполнения оценки требуется включить функцию подсчета лиц в лицензии.

multiface_policy
integer (multiface_policy)
Default: 1
Enum: 0 1 2

Политика детекции нескольких лиц:

  • 0 – не обрабатывать изображения с несколькими обнаруженными лицами.

    Если параметр detect_body включен, система попытается обнаружить тело, связанное с обнаруженным лицом. Если тело обнаружено, его детекция будет связана с тем же событием, что и лицо.

    Если на изображении не обнаружено ни одного лица, изображения тела не возвращаются. Если параметр detect_face отключен, то не будет возвращена детекция тела.

  • 1 – обрабатывать изображения с несколькими обнаруженными лицами и/или телами.

    Если параметр detect_body включен, будут возвращены все детекции тел. Детекция лица и детекция тела одного и того же человека будут связаны с одним и тем же событием.

    Детекции тел возвращаются, даже если лица не обнаружены.

  • 2 – получить лучшее распознавание лица по изображению. На изображении обнаруживается одно лицо наилучшего качества.

    Если параметр detect_body включен, система попытается обнаружить тело, связанное с обнаруженным лицом. Если тело обнаружено, его детекция будет связана с тем же событием, что и лицо.

    Если на изображении не обнаружено ни одного лица, изображения тела не возвращаются. Если параметр detect_face отключен, то не будет возвращена детекция тела.

detect_face
integer (detect_face)
Default: 0
Enum: 0 1

Следует ли детектировать лица на изображении.

detect_body
integer (detect_body)
Default: 0
Enum: 0 1

Следует ли детектировать тела на изображении.

estimate_head_pose
integer (estimate_head_pose)
Default: 0
Enum: 0 1

Следует ли оценивать положение головы на изображении. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw).

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

estimate_emotions
integer (estimate_emotions)
Default: 0
Enum: 0 1

Следует ли оценивать эмоции на изображении. Оценивается вероятностная оценка следующих эмоций: "anger" (злость), "disgust" (отвращение), "fear" (страх), "happiness" (счастье), "sadness" (грусть), "surprise" (удивление), "neutral" (нейтральность).

estimate_mask
integer (estimate_mask)
Default: 0
Enum: 0 1

Следует ли оценивать состояние маски на лице. Оценивается вероятностная оценка следующих состояний маски: "medical_mask" (медицинская маска), "missing" (маска отсутствует), "occluded" (лицо перекрыто).

Вероятностная оценка с наивысшим значением возвращается в параметре "predominant mask".

estimate_glasses
integer (estimate_glasses)
Default: 0
Enum: 0 1

Следует ли оценивать очки на изображении. Возвращается один из следующих параметров: "eyeglasses" (очки), "sunglasses" (солнечные очки), "no_glasses" (очки отсутствуют).

estimate_liveness
integer (int01)
Default: 0
Enum: 0 1

Следует ли оценивать Liveness на изображении. Оцениваются вероятностные оценки "quality" (качество) и "score" (точность определения). На основе этих вероятностных оценок возвращается следующий результат: "real" (проверка выявила, что человек является реальным), "spoof" (проверка выявила, что человек не является реальным), "unknown" (результат проверки неизвестен).

Для выполнения этой оценки используется Liveness. См. руководство администратора для более подробной информации.

Требуются фотографии с веб-камеры или селфи. В противном случае результат может быть неверным.

Для выполнения оценки Liveness требуется включить функцию лицензирования Liveness.

Оценка Liveness не поддерживается для биометрических образцов. Параметр image_type должен быть установлен на "0".

estimate_landmarks68
integer (detect_landmarks68)
Default: 0
Enum: 0 1

Следует ли обнаруживать на изображении 68 контрольных точек лица.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

estimate_landmarks5
integer (detect_landmarks5)
Default: 0
Enum: 0 1

Следует ли определять на изображении пять основных контрольных точек лица.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

estimate_quality
integer (estimate_quality)
Default: 0
Enum: 0 1

Следует ли оценивать качество входного изображения лица. Оценивается каждый из следующих параметров: dark (степень того, что фото не затемнено), light (степень того, что фото не засвечено), blurriness (степень размытости), illumination (степень равномерности освещения), specularity (степень отсутствия бликов).

Коэффициент качества оценивается для каждой вероятностной оценки. Его значение находится в диапазоне [0..1], где 0 соответствует низкому качеству, а 1 – высокому качеству.

Влияние неравномерного освещения или большого количества бликов на алгоритмы распознавания лиц незначительно.

estimate_gaze
integer (estimate_gaze)
Default: 0
Enum: 0 1

Следует ли оценивать направление взгляда на изображении. Взгляд представлен углом наклона взгляда вверх/вниз (pitch) и углом поворота взгляда вправо/влево (yaw) для обоих глаз одновременно.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

estimate_eyes_attributes
integer (estimate_eyes_attributes)
Default: 0
Enum: 0 1

Следует ли оценивать атрибуты глаз на изображении. Оцениваются параметры "right_eye" и "left_eye", которые содержат параметры "state" (opened (глаза открыты), closed (глаза закрыты) или occluded (глаза чем-то перекрыты)) и "iris_landmarks" (контрольные точки радужной оболочки).

estimate_mouth_attributes
integer (estimate_mouth_attributes)
Default: 0
Enum: 0 1

Следует ли оценивать атрибуты рта на изображении. Оценивается каждая из следующих вероятностных оценок: "opened" (рот открыт), "occluded" (рот чем-то перекрыт), "smile" (улыбка), "score" (точность определения).

estimate_face_descriptor
integer (extract_descriptor)
Default: 1
Enum: 0 1
Example: estimate_face_descriptor=1

Следует ли создавать биометрические шаблоны лиц.

estimate_basic_attributes
integer (extract_basic_attributes)
Default: 0
Enum: 0 1

Следует ли извлекать базовые атрибуты лица (пол, возраст, этническая принадлежность).

estimate_body_descriptor
integer (extract_descriptor)
Default: 1
Enum: 0 1
Example: estimate_body_descriptor=1

Следует ли создавать биометрические шаблоны тел.

estimate_upper_body
integer (int01)
Default: 0
Enum: 0 1

Следует ли выполнять оценку атрибутов верхней части тела на изображении (верхняя одежда, цвет одежды, длина рукавов).

estimate_lower_body
integer (int01)
Default: 0
Enum: 0 1

Следует ли выполнять оценку атрибутов нижней части тела на изображении (нижняя одежда, обувь).

estimate_accessories
integer (int01)
Default: 0
Enum: 0 1

Следует ли оценивать аксессуары на теле человека на изображении (наличие рюкзака).

estimate_body_basic_attributes
integer (int01)
Default: 0
Enum: 0 1

Следует ли оценивать базовые атрибуты тела на изображении (пол, возраст).

estimate_body_warp
integer (estimate_body_warp)
Default: 0
Enum: 0 1

Следует ли создавать биометрический образец тела в формате Base64.

estimate_face_warp
integer (estimate_face_warp)
Default: 0
Enum: 0 1

Следует ли создавать биометрический образец лица в формате Base64.

aggregate_attributes
integer (aggregate_attributes)

Следует ли агрегировать следующие параметры:

  • БШ лица
  • БШ тела
  • базовые атрибуты лица (age, gender)
  • базовые атрибуты тела (apparent age, apparent gender)
  • состояния маски
  • эмоции
  • liveness
  • атрибуты верхней части тела
  • атрибуты нижней части тела
  • акссесуары на теле

Агрегация будет выполняться только в том случае, если включены соответствующие параметры для оценки перечисленных выше параметров.

Если параметр задан, все оцененные параметры каждого изображения будут агрегированы и отображены в поле aggregate_estimations тела ответа как отдельные объекты для всех изображений.

В противном случае все оцененные параметры каждого изображения будут отображаться в поле estimations тела ответа как отдельные объекты для соответствующих изображений.

pitch_threshold
integer (pitch_threshold) [ 0 .. 180 ]
Example: pitch_threshold=180

Максимальное отклонение угла наклона головы вверх/вниз (pitch) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы вверх/вниз (pitch) не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

roll_threshold
integer (roll_threshold) [ 0 .. 180 ]
Example: roll_threshold=180

Максимальное отклонение угла отклонения головы вправо/влево (roll) от 0. Если расчетное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы в сторону не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

yaw_threshold
integer (yaw_threshold) [ 0 .. 180 ]
Example: yaw_threshold=180

Максимальное отклонение угла поворота головы вправо/влево (yaw) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона в сторону не требуется, необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

score_threshold
number (score_threshold) [ 0 .. 1 ]
Default: 0
Example: score_threshold=0.7

Порог оценки качества биометрического шаблона. Чем выше показатель качества изображения, тем лучше результаты извлечения биометрического шаблона.

Все атрибуты с показателем качества ниже порогового значения будут проигнорированы (и не сохранены в БД). Функция будет работать как обычно со всеми остальными биометрическими шаблонами (если они оставлены).

Проконсультируйтесь со специалистами VisionLabs о рекомендуемом значении этого параметра.

Примечание. Этот параметр не связан с качеством изображения, оцененным в запросе на детекцию (параметром estimate_quality).

mask_states
Array of integers (mask_states) non-empty
Items Enum: 1 2 3
Example: mask_states=2&mask_states=3

Фильтр по состояниям маски.

Состояния маски Значение
missing (отсутствует) 1
medical_mask (медицинская) 2
occluded (лицо перекрыто) 3
liveness_states
Array of integers (liveness_states) non-empty
Items Enum: 0 1 2
Example: liveness_states=1

Фильтр по состояниям Liveness.

Состояние Liveness Значение
spoof 0
real 1
unknown 2
use_exif_info
integer
Default: 1
Enum: 0 1
Example: use_exif_info=1

Следует ли автоматически поворачивать изображение на основе данных EXIF.

Обрабатываемое изображение должно иметь EXIF данные, иначе автоматическая ориентация выполняться не будет.

Не влияет на изображения в формате tiff (они всегда автоматически ориентированы).

Не поддерживается с биометрическими образцами (см. параметры warped_image или image_type).

extract_exif
integer (extract_exif)
Default: 0
Enum: 0 1

Следует ли извлекать метаинформацию EXIF из входных изображений JPEG.

Точные выходные данные могут отличаться из-за отсутствия обязательных требований по записи данных как к программному обеспечению, так и к цифровым камерам.

Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451.

header Parameters
Accept
string
Enum: "application/json" "application/msgpack"

Заголовок запроса Accept.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Enum: "application/json" "multipart/form-data" "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64"
Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
Example
{
  • "images_estimations": [
    ]
}

sdk options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

iso

iso resource

Позволяет выполнить визуальную проверку изображений фронтального типа на основе стандарта ISO/IEC 19794-5. Это означает, что изображения, прошедшие проверку, стандартизированы, а атрибуты лица человека соответствуют установленным требованиям. Для получения дополнительной информации о требованиях к атрибутам лица на изображении см. ISO/IEC 19794-5 пункты 7-10.

Выходной JSON содержит результат проверки для каждой проверки. Проверка изображения считается успешной, если набор этих результатов соответствует стандарту ISO.

Порядок входных изображений соответствует порядку элементов в выходном JSON. Если изображение повреждено, ресурс вернет ошибку для этого изображения, а другие изображения будут обработаны правильно.

Примечания к входящим данным:

  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут проигнорированы.
Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
image_type
integer
Default: 0
Enum: 0 1

Тип входящего изображения. 0 - обычное изображение, 1 - нормализованное изображение лица.

multiface_policy
integer (iso_multiface_policy)
Default: 0
Enum: 0 1 2

Политика детекции нескольких лиц:

  • 0 – политика детекции нескольких лиц не разрешена.

  • 1 – политика детекции нескольких лиц разрешена.

  • 2 – получить только лучшую детекцию лица на изображении.

extract_exif
integer (extract_exif)
Default: 0
Enum: 0 1

Следует ли извлекать метаинформацию EXIF из входных изображений JPEG.

Точные выходные данные могут отличаться из-за отсутствия обязательных требований по записи данных как к программному обеспечению, так и к цифровым камерам.

Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451.

header Parameters
Accept
string
Enum: "application/json" "application/msgpack"

Заголовок запроса Accept.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Enum: "application/json" "multipart/form-data" "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64"
Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
Example
{
  • "images": [
    ]
}

iso options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

samples

detect faces

Позволяет обнаруживать лица на входящих изображениях, создавать биометрические образцы и оценивать свойства лиц.

Детекции могут быть отфильтрованы по положению головы. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw). Чтобы задать порог фильтрации для каждого угла, используйте соответствующие параметры запроса (yaw_threshold, pitch_threshold and roll_threshold). По умолчанию фильтрация не применяется.

Оцененные свойства лица не сохраняются в базе данных лиц. Они возвращаются только в ответе.

Биометрические образцы сохраняются в хранилище без возможности отключения сохранения. Вы можете отключить сохранение

биометрических образцов только используя обработчики.

Примечания к входящим данным:

  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут проигнорированы.
Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
multiface_policy
integer (multiface_policy)
Default: 1
Enum: 0 1 2

Политика детекции нескольких лиц:

  • 0 – политика детекции нескольких лиц не разрешена.

  • 1 – политика детекции нескольких лиц разрешена.

  • 2 – получить только лучшую детекцию лица на изображении.

estimate_head_pose
integer (estimate_head_pose)
Default: 0
Enum: 0 1

Следует ли оценивать положение головы на изображении. Положение головы представлено углом наклона головы вверх/вниз (pitch), углом отклонения головы вправо/влево (roll), углом поворота головы вправо/влево (yaw).

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

estimate_emotions
integer (estimate_emotions)
Default: 0
Enum: 0 1

Следует ли оценивать эмоции на изображении. Оценивается вероятностная оценка следующих эмоций: "anger" (злость), "disgust" (отвращение), "fear" (страх), "happiness" (счастье), "sadness" (грусть), "surprise" (удивление), "neutral" (нейтральность).

estimate_mask
integer (estimate_mask)
Default: 0
Enum: 0 1

Следует ли оценивать состояние маски на лице. Оценивается вероятностная оценка следующих состояний маски: "medical_mask" (медицинская маска), "missing" (маска отсутствует), "occluded" (лицо перекрыто).

Вероятностная оценка с наивысшим значением возвращается в параметре "predominant mask".

detect_landmarks68
integer (detect_landmarks68)
Default: 0
Enum: 0 1

Следует ли обнаруживать на изображении 68 контрольных точек лица. Не поддерживается с биометрическими образцами (см. параметр warped_image).

extract_exif
integer (extract_exif)
Default: 0
Enum: 0 1

Следует ли извлекать метаинформацию EXIF из входных изображений JPEG.

Точные выходные данные могут отличаться из-за отсутствия обязательных требований по записи данных как к программному обеспечению, так и к цифровым камерам.

Данная функция будет анализировать теги и выводить их имена и значения в том виде, в котором они предоставлены. Для более подробной информации см. спецификацию JEITA CP-3451.

estimate_quality
integer (estimate_quality)
Default: 0
Enum: 0 1

Следует ли оценивать качество входного изображения лица. Оценивается каждый из следующих параметров: dark (степень того, что фото не затемнено), light (степень того, что фото не засвечено), blurriness (степень размытости), illumination (степень равномерности освещения), specularity (степень отсутствия бликов).

Коэффициент качества оценивается для каждой вероятностной оценки. Его значение находится в диапазоне [0..1], где 0 соответствует низкому качеству, а 1 – высокому качеству.

Влияние неравномерного освещения или большого количества бликов на алгоритмы распознавания лиц незначительно.

estimate_gaze
integer (estimate_gaze)
Default: 0
Enum: 0 1

Следует ли оценивать направление взгляда на изображении. Взгляд представлен углом наклона взгляда вверх/вниз (pitch) и углом поворота взгляда вправо/влево (yaw) для обоих глаз одновременно.

Не поддерживается с биометрическими образцами (см. параметр warped_image или image_type).

estimate_eyes_attributes
integer (estimate_eyes_attributes)
Default: 0
Enum: 0 1

Следует ли оценивать атрибуты глаз на изображении. Оцениваются параметры "right_eye" и "left_eye", которые содержат параметры "state" (opened (глаза открыты), closed (глаза закрыты) или occluded (глаза чем-то перекрыты)) и "iris_landmarks" (контрольные точки радужной оболочки).

estimate_mouth_attributes
integer (estimate_mouth_attributes)
Default: 0
Enum: 0 1

Следует ли оценивать атрибуты рта на изображении. Оценивается каждая из следующих вероятностных оценок: "opened" (рот открыт), "occluded" (рот чем-то перекрыт), "smile" (улыбка), "score" (точность определения).

pitch_threshold
integer (pitch_threshold) [ 0 .. 180 ]
Example: pitch_threshold=180

Максимальное отклонение угла наклона головы вверх/вниз (pitch) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы вверх/вниз (pitch) не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

roll_threshold
integer (roll_threshold) [ 0 .. 180 ]
Example: roll_threshold=180

Максимальное отклонение угла отклонения головы вправо/влево (roll) от 0. Если расчетное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона головы в сторону не требуется, то необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

yaw_threshold
integer (yaw_threshold) [ 0 .. 180 ]
Example: yaw_threshold=180

Максимальное отклонение угла поворота головы вправо/влево (yaw) от 0. Если оценочное значение равно или меньше порогового значения, изображение фильтруется.

Если фильтрация по углу наклона в сторону не требуется, необходимо удалить этот параметр из запроса или установить значение параметра равным 180.

Когда значение установлено на "0", все изображения фильтруются.

warped_image
integer (warped_image)
Default: 0
Enum: 0 1

Является ли входное изображение биометрическим образцом или нет.

use_exif_info
integer
Default: 1
Enum: 0 1
Example: use_exif_info=1

Следует ли автоматически поворачивать изображение на основе данных EXIF.

Обрабатываемое изображение должно иметь EXIF данные, иначе автоматическая ориентация выполняться не будет.

Не влияет на изображения в формате tiff (они всегда автоматически ориентированы).

Не поддерживается с биометрическими образцами (см. параметры warped_image или image_type).

estimate_face_quality
integer
Default: 0
Enum: 0 1

Следует ли оценивать лицо и изображение с помощью проверки "face_quality".

Позволяет выполнять различные проверки качества лица с пороговыми значениями, аналогичных стандарту ISO. Для получения дополнительной информации о требованиях к атрибутам лица на изображении см. ISO/IEC 19794-5 пункты 7-10.

Необходимо наличие параметра лицензирования ISO для выполнения проверки качества лица и изображения.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Enum: "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "multipart/form-data" "application/json" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64"
Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
Example
{
  • "images": [
    ]
}

detector options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

save face/body sample

Позволяет сохранить биометрический образец лица или тела в хранилище.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Enum: "image/jpeg" "image/png" "image/bmp" "image/tiff" "image/x-portable-pixmap"
Request Body schema:
One of
string <binary> (face_sample)

Изображение, сгенерированное алгоритмами VisionLabs.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/samples/faces"
response = requests.post(url, data=image, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "sample_id": "b5d6fd45-fcca-453d-ac05-3e594054b813",
  • "url": "/6/samples/bodies/b5d6fd45-fcca-453d-ac05-3e594054b813"
}

face/body samples options

Позволяет получить параметры для ресурса.

path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get face/body sample

Позволяет получить биометрический образец лица или тела по его sample_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/samples/faces"
sampleId = requests.post(url, data=image, headers=headers).json()["sample_id"]

# get sample
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/samples/faces/{sampleId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
Example
{}

check if face/body sample exists

Позволяет проверить существование биометрического образца лица или тела по указанному sample_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/samples/faces"
sampleId = requests.post(url, data=image, headers=headers).json()["sample_id"]

# get sample
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/samples/faces/{sampleId}"
response = requests.head(url, headers=headers)

print(response.status_code)

remove face/body sample

Позволяет удалить биометрический образец лица или тела по его sample_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/samples/faces"
sampleId = requests.post(url, data=image, headers=headers).json()["sample_id"]

# get sample
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/samples/faces/{sampleId}"
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

face/body sample options

Позволяет получить параметры для ресурса.

path Parameters
samples_type
required
string
Enum: "faces" "bodies"

Тип биометрических образцов.

sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get sample | previous version Deprecated

Позволяет получить биометрический образец по его идентификатору с помощью предыдущей версии API.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

check if sample exists | previous version Deprecated

Позволяет проверить существование биометрического образца лица или тела по указанному sample_id с помощью предыдущей версии API.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

remove sample | previous version Deprecated

Позволяет удалить биометрический образец по идентификатору, используя предыдущую версию API.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

sample options | previous version Deprecated

Позволяет получить параметры для ресурса с помощью предыдущей версии API.

path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get sample | legacy Deprecated

Позволяет получить биометрический образец лица по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

check if face sample exists | legacy Deprecated

Позволяет проверить существование биометрического образца лица по указанному sample_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

remove face sample | legacy Deprecated

Позволяет удалить биометрический образец по его sample_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Response samples

Content type
application/json
Example
{}

face sample options | legacy Deprecated

Позволяет получить параметры для ресурса.

path Parameters
sample_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
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

images

create images

Позволяет сохранить изображения с уникальным идентификатором.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Enum: "image/jpeg" "image/png" "image/bmp" "image/tiff" "image/x-portable-pixmap"

Тип передаваемого изображения.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

* (X-Luna-Meta-<user_defined_key>)
string
Example: <user_defined_value>

Пользовательская метаинформация (ключ-значение) изображения. Чтобы сохранить значения метаинформации для нескольких ключей, необходимо определить несколько заголовков.

Request Body schema:
string <binary> (binary_image)

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/images"
response = requests.post(url, data=image, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{}

images options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

check if image exists

Позволяет проверить существование изображение по указанному image_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
image_id
required
string <uuid> (image_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор изображения.

query Parameters
with_meta
integer
Default: 0
Enum: 0 1
Example: with_meta=1

Следует ли извлекать пользовательскую метаинформацию изображения.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/images"
imageId = requests.post(url, data=image, headers=headers).json()["image_id"]

# get image
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/images/{imageId}"
response = requests.head(url, headers=headers)

print(response.status_code)

delete image

Позволяет удалить изображение.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
image_id
required
string <uuid> (image_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор изображения.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/images"
imageId = requests.post(url, data=image, headers=headers).json()["image_id"]

# get image
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/images/{imageId}"
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

get image

Позволяет получить исходное изображение.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
image_id
required
string <uuid> (image_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор изображения.

query Parameters
with_meta
integer
Default: 0
Enum: 0 1
Example: with_meta=1

Следует ли извлекать пользовательскую метаинформацию изображения.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("face_warp.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/images"
imageId = requests.post(url, data=image, headers=headers).json()["image_id"]

# get image
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/images/{imageId}"
response = requests.get(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

image options

Позволяет получить параметры для ресурса.

path Parameters
image_id
required
string <uuid> (image_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор изображения.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

objects

create objects

Позволяет сохранить объект с уникальным идентификатором.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
required
string

Тип передачи информации.

Внимание! Значение этого заголовка будет использоваться в качестве значения заголовка Content-Type для запросов "GET object" и будет использовано для расчета MIME-типа.

Request Body schema: */*
string <binary>

Пользовательские байты. Сервис сохраняет байты «как есть».

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "text/plain",
}

url = f"{baseUri}/objects"
response = requests.post(url, data="example", headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{}

objects options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get object

Receiving objects.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
object_id
required
string <uuid> (object_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор объекта.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create objects
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "text/plain",
}

url = f"{baseUri}/objects"
objectId = requests.post(url, data="example", headers=headers).json()["object_id"]

# get object
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/objects/{objectId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.text)

Response samples

Content type
application/json
{}

check if object exists

Позволяет проверить существование объекта по указанному object_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
object_id
required
string <uuid> (object_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор объекта.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create object
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "text/plain",
}

url = f"{baseUri}/objects"
objectId = requests.post(url, data="example", headers=headers).json()["object_id"]

# check objects
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/objects/{objectId}"
response = requests.head(url, headers=headers)

print(response.status_code)

delete object

Позволяет удалить объект.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
object_id
required
string <uuid> (object_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор объекта.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create object
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "text/plain",
}

url = f"{baseUri}/objects"
objectId = requests.post(url, data="example", headers=headers).json()["object_id"]

# get object
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/objects/{objectId}"
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

object options

Позволяет получить параметры для ресурса.

path Parameters
object_id
required
string <uuid> (object_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор объекта.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

attributes

extract attributes

Позволяет извлечь биометрические шаблоны и базовые атрибуты из биометрических образцов.

Все извлеченные атрибуты являются временными.

Временные атрибуты имеют TTL (время существования) и будут удалены из базы данных по истечении указанного периода.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
score_threshold
number (score_threshold) [ 0 .. 1 ]
Default: 0
Example: score_threshold=0.7

Порог оценки качества биометрического шаблона. Чем выше показатель качества изображения, тем лучше результаты извлечения биометрического шаблона.

Все атрибуты с показателем качества ниже порогового значения будут проигнорированы (и не сохранены в БД). Функция будет работать как обычно со всеми остальными биометрическими шаблонами (если они оставлены).

Проконсультируйтесь со специалистами VisionLabs о рекомендуемом значении этого параметра.

Примечание. Этот параметр не связан с качеством изображения, оцененным в запросе на детекцию (параметром estimate_quality).

extract_descriptor
integer (extract_descriptor)
Default: 1
Enum: 0 1
Example: extract_descriptor=1

Следует ли извлекать биометрические шаблоны лица.

extract_basic_attributes
integer (extract_basic_attributes)
Default: 0
Enum: 0 1

Следует ли извлекать базовые атрибуты (пол, возраст, этническая принадлежность).

aggregate_attributes
integer (aggregate_attributes)

Следует ли агрегировать атрибуты лица (биометрический шаблон или базовые атрибуты). Агрегация будет выполнена только вместе с включенными параметрами extract_descriptor и/или extract_basic_attributes.

Если параметр задан, то все извлеченные из каждого изображения атрибуты будут агрегированы и сохранены как единый объект.

В противном случае, все извлеченные из каждого изображения атрибуты будут сохранены для каждого биометрического образца как отдельные объекты.

ttl
integer [ 1 .. 86400 ]
Default: 300

Время существования временных атрибутов (в секундах).

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
Array ([ 1 .. 8 ] items)
string <uuid> (sample_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...

Идентификатор биометрического образца.

Responses

Request samples

Content type
application/json
[
  • "f9f03668-27e3-4e23-9b55-681e5927905e",
  • "4967ccb7-b521-43b5-93ba-a0d266631bb2",
  • "dd98cf9c-ddf3-4962-a3c5-e8bd540a4fc7"
]

Response samples

Content type
application/json
Example
[
  • {
    },
  • {
    },
  • {
    }
]

extractor options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

create temporary attribute

Позволяет создать новые временные атрибуты.

Примечание. Используйте этот запрос, когда вам нужно добавить базовые атрибуты или биометрические шаблоны из внешнего хранилища. В противном случае используйте запрос на извлечение атрибутов.

Все извлеченные атрибуты являются временными.

Временные атрибуты имеют TTL (время существования) и будут удалены из базы данных по истечении указанного периода.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
ttl
integer [ 1 .. 86400 ]
Default: 300

Время существования временных атрибутов (в секундах).

header Parameters
Content-Type
string
Enum: "application/json" "multipart/form-data"

Тип содержимого – application/json или multipart/form-data.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Request Body schema:
One of
required
Array of descriptor_data (object) or raw_descriptor_base64 (string) (face_descriptors) non-empty

Список биометрических шаблонов с версиями. Каждый биометрический шаблон получен в результате агрегации всех предоставленных биометрических образцов.

face_descriptor_samples
Array of strings <uuid> (attributes_samples) >= 0 items unique
Default: []

Список уникальных sample_id, которые являются источниками для определяемых атрибутов.

Примечание. Если не задать биометрические образцы атрибутов, лица с такими атрибутами будут пропущены в процессе обновления атрибутов с использованием нового алгоритма оценки.

required
object (basic_attributes_without_defaults)

Базовые атрибуты.

basic_attributes_samples
Array of strings <uuid> (attributes_samples) >= 0 items unique
Default: []

Список уникальных sample_id, которые являются источниками для определяемых атрибутов.

Примечание. Если не задать биометрические образцы атрибутов, лица с такими атрибутами будут пропущены в процессе обновления атрибутов с использованием нового алгоритма оценки.

Responses

Request samples

Content type
Example
{
  • "face_descriptors": [
    ],
  • "face_descriptor_samples": [
    ],
  • "basic_attributes": {
    },
  • "basic_attributes_samples": [
    ]
}

Response samples

Content type
application/json
{}

get temporary attributes

Позволяет получить временные атрибуты по их идентификаторам.

Для каждого атрибута:

  • Если TTL атрибутов не истекло, возвращаются данные атрибутов;

  • Если TTL атрибутов истекло, данные для этого атрибута в ответе не возвращаются.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
attribute_ids
required
string <list of uuid>

Список attribute_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-Account-Id".

targets
string <comma-separated items>
Default: "create_time, attribute_id, account_id, face_descriptor_samples, basic_attributes_samples, face_descriptor, basic_attributes_samples"
Example: targets=basic_attributes,basic_attributes_samples,account_id

Список целевых полей временных атрибутов, разделенных запятыми. Все целевые поля доступны по умолчанию.

descriptor_version
integer (descriptor_version)
Enum: 46 52 54 56 57 58 59 60
Example: descriptor_version=56

Версия дескриптора, возвращаемая в ответе. По умолчанию используется версия дескриптора LUNA PLATFORM по умолчанию.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create attribute
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 0,
        "ethnicity": 3,
    },
}

url = f"{baseUri}/attributes"
attributeId = requests.post(url, json=payload, headers=headers).json()["attribute_id"]

# get attributes
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

params = {
    "attribute_ids": [
        attributeId,
    ],
    "targets": "basic_attributes,basic_attributes_samples,account_id",
}

url = f"{baseUri}/attributes"
response = requests.get(
    url, headers=headers, params=params
)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
Example
{
  • "attributes": [
    ]
}

temporary attributes options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get temporary attribute

Позволяет получить временные атрибуты по идентификатору.

Атрибуты будут возвращены, если их TTL не истекло.

В противном случае вернется ошибка "Attributes not found".

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
attribute_id
required
string <uuid> (attribute_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор временного атрибута.

query Parameters
descriptor_version
integer (descriptor_version)
Enum: 46 52 54 56 57 58 59 60
Example: descriptor_version=56

Версия дескриптора, возвращаемая в ответе. По умолчанию используется версия дескриптора LUNA PLATFORM по умолчанию.

targets
string <comma-separated items>
Default: "create_time, attribute_id, account_id, face_descriptor_samples, basic_attributes_samples, face_descriptor, basic_attributes_samples"
Example: targets=basic_attributes,basic_attributes_samples,account_id

Список целевых полей временных атрибутов, разделенных запятыми. Все целевые поля доступны по умолчанию.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create attribute
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 1,
        "ethnicity": 3,
    },
}

url = f"{baseUri}/attributes"
attributeId = requests.post(url, json=payload, headers=headers).json()["attribute_id"]

# get attributes
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/attributes/{attributeId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
Example
{
  • "create_time": "2021-08-11T14:57:18.416928+03:00",
  • "attribute_id": "7fdf9225-3c06-4c21-b774-8bea99bcce20",
  • "account_id": "0d1cc36e-d719-4f54-8abe-4e5e0cb1f43c",
  • "face_descriptor_samples": [
    ],
  • "basic_attributes_samples": [
    ],
  • "face_descriptor": "2xQ2gprbMUePw1s9gw9fvA==",
  • "basic_attributes": {
    }
}

check temporary attribute

Позволяет проверить существование атрибута по указанному attribute_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
attribute_id
required
string <uuid> (attribute_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор временного атрибута.

query Parameters
descriptor_version
integer (descriptor_version)
Enum: 46 52 54 56 57 58 59 60
Example: descriptor_version=56

Версия дескриптора, возвращаемая в ответе. По умолчанию используется версия дескриптора LUNA PLATFORM по умолчанию.

targets
string <comma-separated items>
Default: "create_time, attribute_id, account_id, face_descriptor_samples, basic_attributes_samples, face_descriptor, basic_attributes_samples"
Example: targets=basic_attributes,basic_attributes_samples,account_id

Список целевых полей временных атрибутов, разделенных запятыми. Все целевые поля доступны по умолчанию.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create attribute
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 1,
        "ethnicity": 3,
    },
}

url = f"{baseUri}/attributes"
attributeId = requests.post(url, json=payload, headers=headers).json()["attribute_id"]

# get attributes
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/attributes/{attributeId}"
response = requests.head(url, headers=headers)

print(response.status_code)

delete attribute

Позволяет удалить атрибуты по их идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
attribute_id
required
string <uuid> (attribute_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор временного атрибута.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

# create attribute
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 1,
        "ethnicity": 3,
    },
}

url = "http://127.0.0.1:5000/6/attributes"
attributeId = requests.post(url, json=payload, headers=headers).json()["attribute_id"]

# get attributes
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"http://127.0.0.1:5000/6/attributes/{attributeId}"
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

temporary attributes attribute options

Позволяет получить параметры для ресурса.

path Parameters
attribute_id
required
string <uuid> (attribute_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор временного атрибута.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get temporary attribute samples

Позволяет получить все биометрические образцы временных атрибутов по идентификатору атрибутов.

Атрибуты будут возвращены, если их TTL не истекло.

В противном случае вернется ошибка "Attributes not found".

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
attribute_id
required
string <uuid> (attribute_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор временного атрибута.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("image.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/detector"
sampleId = requests.post(url, data=image, headers=headers).json()["images"][0]["detections"]["samples"][0]["face"]["sample_id"]

# exreact attr
# create attribute
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 1,
        "ethnicity": 3,
    },
    "basic_attributes_samples": [
        sampleId,
    ],
}

url = f"{baseUri}/attributes"
attributeId = requests.post(url, json=payload, headers=headers).json()["attribute_id"]

# get attributes by id
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/attributes/{attributeId}/samples"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "samples": [
    ]
}

temporary attribute samples options

Позволяет получить параметры для ресурса.

path Parameters
attribute_id
required
string <uuid> (attribute_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор временного атрибута.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

faces

create face

Создать лицо.

Лицо может быть прикреплено к одному или нескольким спискам.

Можно создать новое лицо, используя временный идентификатор атрибута или используя внешние данные атрибута (биометрические шаблоны и/или базовые атрибуты).

Также можно создать лицо без указанных атрибутов.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Enum: "application/json" "application/msgpack"

Формат данных тела запроса.

Request Body schema:
attribute_set_by_attribute_id (object) or (attribute_no_account (attribute_with_descriptors_and_basic_attributes_no_account (object) or attribute_with_basic_attributes_no_account (object) or attribute_with_descriptors_no_account (object))) (face_attribute)

Атрибуты лица.

Можно указать атрибуты для лица одним из нескольких способов:

  • путем указания attribute_id временных атрибутов;

  • путем указания биометрических шаблонов и базовых атрибутов (с биометрическими образцами или без них);

  • путем указания биометрических шаблонов (с биометрическими образцами или без них);

  • путем указания базовых атрибутов (с биометрическими образцами или без них).

Последние три способа используются, когда вам нужно создать лицо с использованием данных, хранящихся во внешнем хранилище.

external_id
string (face_external_id) <= 36 characters
Default: ""

Определяемый пользователем внешний идентификатор лица. Его можно использовать для связывания нескольких лиц, принадлежащих одному человеку.

user_data
string (face_user_data) <= 128 characters
Default: ""

Пользовательские данные, связанные с лицом.

avatar
string <uri-reference> (avatar) <= 256 characters
Default: ""

Аватар – это визуальное изображение лица.

Аватар можно использовать в пользовательском интерфейсе.

В качестве аватара можно использовать биометрический образец или внешнее изображение.

lists
Array of strings <uuid> (list_id) non-empty

Списки для привязки лица.

event_id
string <uuid> (event_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...

Идентификатор события, связанный с созданием лица.

Responses

Request samples

Content type
Example
{}

Response samples

Content type
application/json
{}

get faces

Позволяет получить лица в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

event_id
string <uuid> (event_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: event_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb

event_id, связанный с созданием лица.

face_id__lt
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: face_id__lt=8950722f-3fd4-4223-b48f-03f95f0e8dfb

Верхнее исключенное пороговое значение для параметра face_id. Лица в ответе будут отсортированы по их идентификаторам. Если не указано ни face_id__lt, ни face_id__gte, лица будут отсортированы по времени создания.

face_id__gte
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: face_id__gte=8950722f-3fd4-4223-b48f-03f95f0e8dfb

Нижнее включенное пороговое значение для параметра face_id. Лица в ответе будут отсортированы по их идентификаторам. Если не указано ни face_id__lt, ни face_id__gte, лица будут отсортированы по времени создания.

face_ids
string <list of uuid>
Example: face_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список face_id, разделенных запятыми.

external_ids
string
Example: external_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список external_id, разделенных запятыми.

user_data
string
Example: user_data=user_data_text

Найти все объекты с параметром user_data, значение которого схоже со значением данного фильтра. Можно указать неполное значение user_data для этого фильтра.

list_id
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: list_id=557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор списка, содержащего лица.

targets
Array of strings (faces_targets)
Items Enum: "face_id" "account_id" "event_id" "user_data" "create_time" "external_id" "avatar" "lists"
Example: targets=face_id,user_data

Список целевых полей лиц, разделенных запятыми. Если параметр задан, каждое лицо из результата будет содержать только указанные поля, в противном случае будут возвращены лица со всеми полями.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces"
params = {
    "create_time__gte": "2018-08-11T09:11:41.674Z",
    "user_data": "face",
    "targets": "face_id,account_id,event_id,user_data,create_time",
}

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "faces": [
    ]
}

delete faces

Позволяет удалить несколько лиц по их идентификаторам.

Когда лица удаляются, атрибуты (биометрические шаблоны и базовые атрибуты), привязанные к лицам,также удаляются. Биометрические образцы, привязанные к лицам, не удаляются.

Если необходимо удалить лица в соответствии с некоторыми фильтрами и со всеми биометрическими образцами, необходимо использовать задачу "garbage collection" с параметром target = faces и включенным флагом remove_samples.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
ignore
integer (int01)
Default: 0
Enum: 0 1

Следует ли игнорировать ошибку, если удаляемого лица не существует.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
face_ids
required
Array of strings <uuid> (face_id) non-empty

Список face_id, разделенных запятыми для удаления.

Responses

Request samples

Content type
application/json
{
  • "face_ids": [
    ]
}

Response samples

Content type
application/json
{}

faces options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get face count

Позволяет получить количество лиц в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

face_ids
string <list of uuid>
Example: face_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список face_id, разделенных запятыми.

face_id__lt
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: face_id__lt=8950722f-3fd4-4223-b48f-03f95f0e8dfb

Верхнее исключенное пороговое значение для параметра face_id.

face_id__gte
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: face_id__gte=8950722f-3fd4-4223-b48f-03f95f0e8dfb

Нижнее включенное пороговое значение для параметра face_id.

event_id
string <uuid> (event_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: event_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb

event_id, связанный с созданием лица.

external_ids
string
Example: external_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список external_id, разделенных запятыми.

user_data
string
Example: user_data=user_data_text

Найти все объекты с параметром user_data, значение которого схоже со значением данного фильтра. Можно указать неполное значение user_data для этого фильтра.

list_id
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: list_id=557d54ec-29ad-4f3c-93b4-c9092ef12515

Идентификатор списка, содержащего лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces/count"
params = {
    "create_time__gte": "2018-08-11T09:11:41.674Z",
    "user_data": "face",
}
response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "faces_count": 7
}

faces count options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get count of faces with attributes

Позволяет получить количество лиц с атрибутами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces/attributes/count"

response = requests.get(
    url,
    headers=headers,
)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "faces_count": 7
}

get count of faces with attributes options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get face

Позволяет получить лицо по его face_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

face_id, полученный в запросе на создание лица.

query Parameters
targets
Array of strings (faces_targets)
Items Enum: "face_id" "account_id" "event_id" "user_data" "create_time" "external_id" "avatar" "lists"
Example: targets=face_id,user_data

Список целевых полей лиц, разделенных запятыми. Если параметр задан, каждое лицо из результата будет содержать только указанные поля, в противном случае будут возвращены лица со всеми полями.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces"
faceId = requests.post(url, headers=headers).json()["face_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/faces/{faceId}"
response = requests.get(
    url,
    headers=headers,
)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "face_id": "426542d6-5509-4e5b-8a01-e2abd5c0a8c6",
  • "account_id": "b668c4a5-2191-476e-a261-3b4f9ce2e25e",
  • "event_id": "f9687459-986b-406d-9c1f-0d6289be5256",
  • "user_data": "fox1991",
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "external_id": "2xQ2gprbMUePw1s9gw9fvA==",
  • "lists": [
    ]
}

patch face

Позволяет обновить следующие поля лица: user_data, external_id, event_id, avatar.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

face_id, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
external_id
string <= 36 characters

Определяемый пользователем внешний идентификатор лица.

event_id
string or null <uuid> (event_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...

Идентификатор события.

user_data
string <= 128 characters

Пользовательские данные, связанные с лицом.

avatar
string <uri-reference> (avatar) <= 256 characters
Default: ""

Аватар – это визуальное изображение лица.

Аватар можно использовать в пользовательском интерфейсе.

В качестве аватара можно использовать биометрический образец или внешнее изображение.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

remove face

Позволяет удалить лицо по его face_id.

Когда лицо удаляется, атрибуты (биометрические шаблоны и базовые атрибуты), привязанные к лицу, также удаляются. Биометрические образцы, привязанные к лицу не удаляются. Если у вас имеется небольшое количество биометрических образцов лица, тогда вы можете использовать ресурсы "get face attribute samples" > "remove face/body sample" > "delete face" (этот ресурс). Если вам необходимо удалить лица в соответствии с некоторыми фильтрами и со всеми биометрическими образцами, необходимо использовать задачу "garbage collection" с параметром target = faces и включенным флагом remove_samples.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

face_id, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}
url = f"{baseUri}/faces"
faceId = requests.post(
    url,
    headers=headers,
).json()["face_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces/{faceId}"
response = requests.delete(
    url,
    headers=headers,
)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

check if face exists

Позволяет проверить существование лица по указанному face_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

face_id, полученный в запросе на создание лица.

query Parameters
targets
Array of strings (faces_targets)
Items Enum: "face_id" "account_id" "event_id" "user_data" "create_time" "external_id" "avatar" "lists"
Example: targets=face_id,user_data

Список целевых полей лиц, разделенных запятыми. Если параметр задан, каждое лицо из результата будет содержать только указанные поля, в противном случае будут возвращены лица со всеми полями.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces"
faceId = requests.post(
    url,
    headers=headers,
).json()["face_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces/{faceId}"
response = requests.head(
    url,
    headers=headers,
)

print(response.status_code)

face options

Позволяет получить параметры для ресурса.

path Parameters
face_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

face_id, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

face attributes

put face attribute

Позволяет отправить атрибуты лица.

Этот запрос изменяет все данные атрибутов, соответствующие указанному лицу.

Атрибуты могут быть заданы с помощью attribute_id или с использованием внешних данных атрибутов (биометрических шаблонов/базовых атрибутов).

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

идентификатор лица, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
One of
attribute_id
required
string <uuid> (attribute_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...

Идентификатор атрибутов. Этот идентификатор связывает биометрические шаблоны, базовые атрибуты и биометрические образцы, полученные из одного изображения.

Responses

Request samples

Content type
application/json
Example
{
  • "attribute_id": "b668c4a5-2191-476e-a261-3b4f9ce2e25e"
}

Response samples

Content type
application/json
Example
{}

get face attribute

Позволяет получить атрибуты лица по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

идентификатор лица, полученный в запросе на создание лица.

query Parameters
targets
string <comma-separated items>
Default: "create_time,basic_attributes,basic_attributes_samples,face_descriptor,face_descriptor_samples"

Список целевых полей временных атрибутов, разделенных запятыми. Доступные поля: create_time, basic_attributes, basic_attributes_samples, face_descriptor, face_descriptor_samples.

descriptor_version
integer (descriptor_version)
Enum: 46 52 54 56 57 58 59 60
Example: descriptor_version=56

Версия дескриптора, возвращаемая в ответе. По умолчанию используется версия дескриптора LUNA PLATFORM по умолчанию.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import base64

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("image.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/detector"
sampleId = requests.post(url, data=image, headers=headers).json()["images"][0]["detections"]["samples"][0]["face"]["sample_id"]

# create attribute
with open("descriptor56", "rb") as file:
    descriptor = base64.b64encode(file.read()).decode()

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
params = {
    "ttl": 600,
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 0,
        "ethnicity": 3,
    },
    "basic_attributes_samples": [
        sampleId,
    ],
    "face_descriptor_samples": [
        sampleId,
    ],
    "face_descriptors": [
        {"descriptor": descriptor, "version": 56},
    ],
}
url = f"{baseUri}/attributes"
attributeId = requests.post(
    url, json=payload, headers=headers, params=params
).json()["attribute_id"]

# create face
payload = {
    "external_id": "2xQ2gprbMUePw1s9gw9fvA==",
    "attribute": {"attribute_id": attributeId},
}
headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}
url = f"{baseUri}/faces"
faceId = requests.post(
    url,
    headers=headers,
    json=payload,
).json()["face_id"]

# get face attribute by ID
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces/{faceId}/attributes"
response = requests.get(
    url,
    headers=headers,
)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "attributes": {
    }
}

delete face attribute

Позволяет удалить атрибуты лица по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

идентификатор лица, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import base64

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}
with open("image.jpg", "rb") as image_file:
    image = image_file.read()
url = f"{baseUri}/detector"
sampleId = requests.post(url, data=image, headers=headers).json()["images"][0]["detections"]["samples"][0]["face"]["sample_id"]

# create attribute
with open("descriptor56", "rb") as file:
    descriptor = base64.b64encode(file.read()).decode()

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
params = {
    "ttl": 600,
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 0,
        "ethnicity": 3,
    },
    "basic_attributes_samples": [
        sampleId,
    ],
    "face_descriptor_samples": [
        sampleId,
    ],
    "face_descriptors": [
        {"descriptor": descriptor, "version": 56},
    ],
}
url = f"{baseUri}/attributes"
attributeId = requests.post(
    url, json=payload, headers=headers, params=params
).json()["attribute_id"]

payload = {
    "external_id": "2xQ2gprbMUePw1s9gw9fvA==",
    "attribute": {"attribute_id": attributeId},
}

# create face
headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}
url = f"{baseUri}/faces"
faceId = requests.post(
    url,
    headers=headers,
    json=payload,
).json()["face_id"]

# get face attribute by ID
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces/{faceId}/attributes"
response = requests.delete(
    url,
    headers=headers,
)

print(response.status_code)

Response samples

Content type
application/json
{}

faces attributes options

Позволяет получить параметры для ресурса.

path Parameters
face_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

идентификатор лица, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get face attribute samples

Позволяет получить биометрические образцы атрибутов по face_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
face_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

идентификатор лица, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import base64

baseUri = "http://127.0.0.1:5000/6"

# create sample
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
}

with open("image.jpg", "rb") as image_file:
    image = image_file.read()

url = f"{baseUri}/detector"
sampleId = requests.post(url, data=image, headers=headers).json()["images"][0]["detections"]["samples"][0]["face"]["sample_id"]

# create attribute
with open("descriptor56", "rb") as file:
    descriptor = base64.b64encode(file.read()).decode()

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
params = {
    "ttl": 600,
}
payload = {
    "basic_attributes": {
        "age": 29,
        "gender": 0,
        "ethnicity": 3,
    },
    "basic_attributes_samples": [
        sampleId,
    ],
    "face_descriptor_samples": [
        sampleId,
    ],
    "face_descriptors": [
        {"descriptor": descriptor, "version": 56},
    ],
}
url = f"{baseUri}/attributes"
attributeId = requests.post(
    url, json=payload, headers=headers, params=params
).json()["attribute_id"]

# create face
payload = {
    "external_id": "2xQ2gprbMUePw1s9gw9fvA==",
    "attribute": {"attribute_id": attributeId},
}
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces"
faceId = requests.post(
    url,
    headers=headers,
    json=payload,
).json()["face_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/faces/{faceId}/attributes/samples"
response = requests.get(
    url,
    headers=headers,
)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "samples": [
    ]
}

faces attributes samples options

Позволяет получить параметры для ресурса.

path Parameters
face_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

идентификатор лица, полученный в запросе на создание лица.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

lists

create list

Создать список.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
user_data
string (list_user_data) <= 128 characters
Default: ""

Пользовательские данные, связанные со списком.

Responses

Request samples

Content type
application/json
{
  • "user_data": "list of good persons"
}

Response samples

Content type
application/json
{}

get lists

Позволяет получить списки в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time списка.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time списка.

last_update_time__lt
string <date-time> (time)
Example: last_update_time__lt=2018-08-11T09:11:41.674Z

Верхнее исключенное пороговое значение для параметра last_update_time списка

last_update_time__gte
string <date-time> (time)
Example: last_update_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра last_update_time списка

user_data
string
Example: user_data=user_data_text

Найти все объекты с параметром user_data, значение которого схоже со значением данного фильтра. Можно указать неполное значение user_data для этого фильтра.

user_data__eq
string
Example: user_data__eq=user_data_text

Найти все объекты с одинаковыми user_data.

list_ids
string <list of uuid>

Список list_id, разделенных запятыми.

list_id__lt
string <uuid>

Верхнее исключенное пороговое значение для параметра list_id.

list_id__gte
string <uuid>

Нижнее включенное пороговое значение для параметра list_id.

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

params = {
    "user_data": "good",
    "page_size": 20,
    "create_time__gte": "2020-10-10T09:11:41.674Z",
}
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/lists"
response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "lists": [
    ]
}

delete lists

Позволяет удалить несколько списков.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
with_faces
integer (int01)
Default: 0
Enum: 0 1

Следует ли удалять список со всеми его лицами.

header Parameters
Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
list_ids
required
Array of strings <uuid> (list_id) non-empty

Список list_id, разделенных запятыми, подлежащих удалению.

Responses

Request samples

Content type
application/json
{
  • "list_ids": [
    ]
}

Response samples

Content type
application/json
{}

lists options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get list count

Позволяет получить количество списков в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

user_data
string
Example: user_data=user_data_text

Найти все объекты с параметром user_data, значение которого схоже со значением данного фильтра. Можно указать неполное значение user_data для этого фильтра.

user_data__eq
string
Example: user_data__eq=user_data_text

Найти все объекты с одинаковыми user_data.

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time списка.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time списка.

last_update_time__lt
string <date-time> (time)
Example: last_update_time__lt=2018-08-11T09:11:41.674Z

Верхнее исключенное пороговое значение для параметра last_update_time списка

last_update_time__gte
string <date-time> (time)
Example: last_update_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра last_update_time списка

list_ids
string <list of uuid>

Список list_id, разделенных запятыми.

list_id__lt
string <uuid>

Верхнее исключенное пороговое значение для параметра list_id.

list_id__gte
string <uuid>

Нижнее включенное пороговое значение для параметра list_id.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# get list according to the filters
params = {
    "user_data": "good",
    "create_time__gte": "2020-10-10T09:11:41.674Z",
    "last_update_time__gte": "2020-10-10T09:11:41.674Z",
}
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/lists/count"
response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "lists_count": 3
}

lists count options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get list

Позволяет получить список по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
list_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

идентификатор списка (list_id полученный в запросе "create list").

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create list
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/lists"
listId = requests.post(url, headers=headers).json()["list_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/lists/{listId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "list_id": "c004aae2-f191-4a1a-9d2a-e5894f8cecbf",
  • "user_data": "good guys",
  • "account_id": "c004aae2-f191-4a1a-9d2a-e5894f8cecbf",
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "last_update_time": "2018-08-11T09:11:41.674Z"
}

check if list exists

Позволяет проверить существование списка по указанному list_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
list_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

идентификатор списка (list_id полученный в запросе "create list").

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create list
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/lists"
listId = requests.post(url, headers=headers).json()["list_id"]

# check list
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/lists/{listId}"
response = requests.head(url, headers=headers)

print(response.status_code)
print(response.json())

update list

Позволяет обновить поле user_data списка.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
list_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

идентификатор списка (list_id полученный в запросе "create list").

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
user_data
string <= 128 characters

Пользовательские данные, связанные со списком.

Responses

Request samples

Content type
application/json
{
  • "user_data": "list of good persons"
}

Response samples

Content type
application/json
Example
{}

delete list

Позволяет удалить список по его list_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
list_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

идентификатор списка (list_id полученный в запросе "create list").

query Parameters
with_faces
integer (int01)
Default: 0
Enum: 0 1

Следует ли удалять список со всеми его лицами.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# create list
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/lists"
listId = requests.post(url, headers=headers).json()["list_id"]

# delete list
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
params = {"with_faces": 1}
url = f"{baseUri}/lists/{listId}"
response = requests.delete(url, params=params, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

list options

Позволяет получить параметры для ресурса.

path Parameters
list_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

идентификатор списка (list_id полученный в запросе "create list").

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

attach/detach faces to the list

Позволяет прикреплять лица к списку или откреплять от списка.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
list_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

Идентификатор списка, полученный в запросе "create list".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
action
required
string
Enum: "attach" "detach"

Ожидаемое действие со списком и лицами.

face_ids
required
Array of strings <uuid> (face_id) non-empty

Лица для прикрепления к списку или открепления от списка.

Responses

Request samples

Content type
application/json
{
  • "action": "attach",
  • "face_ids": [
    ]
}

Response samples

Content type
application/json
Example
{}

link options

Позволяет получить параметры для ресурса.

path Parameters
list_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

Идентификатор списка, полученный в запросе "create list".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

matcher

matching faces

Позволяет осуществить сравнение заданных эталонов с заданными кандидатами.

Примечание. Для эталонов и кандидатов должны быть извлечены биометрические шаблоны. Нельзя сравнивать объекты без биометрических шаблонов.

Источниками для кандидатов являются лица, атрибуты и события. См. примеры "compare two faces using their IDs", "compare two events using their IDs" и "compare events using filters".

Можно указать фильтр "list_id" для лиц-кандидатов для выполнения сравнения по указанному списку. См. пример "search by list and creation time".

В качестве источников для эталонов являются лица, события, атрибуты, внешние идентификаторы лиц или биометрические шаблоны (необработанные, формата SDK, или двоичного формата XPK).

Результаты сравнения возвращаются для кандидатов в соответствии с указанными фильтрами. Если ни один из кандидатов не соответствует фильтрам (например, указан несуществующий идентификатор в поле "event_ids" или поле "face_ids"), операция сравнения не будет выполнена и ошибка не будет возвращена. Поле результата будет пустым.

Если задан несуществующий эталон (например, указан несуществующий идентификатор в поле "event_id" или поле "face_id"), возвращается соответствующая ошибка. См. пример ответа "no ID for reference face found".

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

header Parameters
Content-Type
string
Enum: "application/json" "application/msgpack"

Формат данных тела запроса.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Accept
string
Default: application/json
Enum: "application/json" "application/msgpack"

Определяет MIME-тип ответа, который следует ожидать от клиента.

Request Body schema:
required
Array of candidate_face (object) or candidate_event (object) or candidate_attribute (object) [ 0 .. 30 ] items

Кандидаты для сравнения.

required
Array of any [ 1 .. 30 ] items

Эталоны для сравнения. Каждый эталон сравнивается со всеми указанными кандидатами. Можно указать один или несколько эталонов одного или нескольких типов.

Responses

Request samples

Content type
Example
{
  • "candidates": [
    ],
  • "references": [
    ]
}

Response samples

Content type
Example
[
  • {
    }
]

matcher options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

human body matching

Matcher API позволяет отправлять задачи в сервис, который ищет тела, похожие на заданного кандидата или кандидатов, путем их сравнения. Для эталонов и кандидатов должен быть извлечен биометрический шаблон тела.

Источниками эталонов являются события или двоичный биометрический шаблон. Источником для кандидатов являются события.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

header Parameters
Content-Type
string
Enum: "application/json" "application/msgpack"

Формат данных тела запроса.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Accept
string
Default: application/json
Enum: "application/json" "application/msgpack"

Определяет MIME-тип ответа, который следует ожидать от клиента.

Request Body schema:
required
Array of any [ 1 .. 30 ] items

Эталоны для сравнения. Каждый эталон сравнивается со всеми указанными кандидатами. Можно указать один или несколько эталонов одного или нескольких типов.

required
Array of objects (candidate_event) [ 1 .. 30 ] items

Кандидаты для сравнения.

Responses

Request samples

Content type
{
  • "references": [
    ],
  • "candidates": [
    ]
}

Response samples

Content type
Example
[
  • {
    },
  • {
    }
]

matcher options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

raw matching

Позволяет производить расчеты для определения схожести биометрических шаблонов.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Content-Type
string
Enum: "application/json" "application/msgpack"

Формат данных тела запроса.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Accept
string
Default: application/json
Enum: "application/json" "application/msgpack"

Определяет MIME-тип ответа, который следует ожидать от клиента.

Request Body schema:
required
Array of xpk_file_entity (object) or sdk_descriptor_entity (object) or raw_descriptor_entity (object) non-empty

Список эталонов для сравнения.

required
Array of xpk_file_entity (object) or sdk_descriptor_entity (object) or raw_descriptor_entity (object) non-empty

Кандидаты для сравнения.

Responses

Request samples

Content type
{
  • "references": [
    ],
  • "candidates": [
    ]
}

Response samples

Content type
{
  • "matches": [
    ]
}

matcher raw options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

handlers

create handler

Создать обработчик.

Обработчик определяет список правил (политик) обработки входных изображений.

Обработчики могут быть статическими или динамическими.

Если обработчик статический, то сначала указываются его политики, а затем при создании события указывается созданный идентификатор обработчика.

Если обработчик динамический, то сначала он создается без предустановленных политик, а затем они указываются при создании события. Вы можете создать динамический обработчик, установив в поле "handler_type" значение 1.

Некоторые параметры из политики storage_policy включены по умолчанию (например, face_sample_policy > store_sample). Не забудьте отключить необходимые объекты для избежания переполнения хранилища.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
description
string <= 128 characters

Описание обработчика. Позволяет отличать создаваемые обработчики друг от друга, а также для фильтрации обработчиков с помощью запросов "get handlers" и "get handler count".

object (Policies)

Набор правил, определяющих обработку входных изображений. Отсутствие политик указывает на то, что обработчик является динамическим.

handler_type
integer (handler_type)
Default: 0
Enum: 0 1 2

Следует ли получать только статические (0), динамические (1) или lambda обработчики (2).

Если тип является статическим:

  • Обработчик будет использовать политики, которые ему назначены.

Если тип является динамическим:

  • Обработчик будет использовать заданные политики для каждого запроса на генерацию события.

Если тип является lambda:

  • Все запросы будут отправляться в обработчик lambda с использованием lambda_id.
  • Формат тела запроса и ответа может не соответствовать тому, что указано для канонических обработчиков.
  • Логика поведения запроса полностью зависит от lambda, написанной пользователем.
  • См. описание в руководстве разработчика Lambda.
is_dynamic
boolean (is_dynamic)
Deprecated
Default: false

Флаг динамического обработчика. Если установлено значение "true", обработчик создается без предопределенных политик.

Используйте этот флаг, чтобы указать политики для каждого события, созданного с помощью ресурса "/handlers/{handler_id}/event". Для задания политик используйте схему тела запроса "multipart/form-data".

lambda_id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...

Lambda ID.

Responses

Request samples

Content type
application/json
Example
{
  • "description": "Full handler example",
  • "policies": {
    },
  • "handler_type": 0
}

Response samples

Content type
application/json
{}

get handlers

Позволяет получить обработчики по фильтрам.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

handler_type
integer
Enum: 0 1 2

Следует ли получать только обработчик с определенным типом (0 - статический, 1 - динамический, 2 - lambda).

Если не задано, будут получены обработчики любого типа.

Если указан handler_type, устаревший параметр is_dynamic будет проигнорирован.

is_dynamic
integer
Deprecated
Enum: 0 1

Получать только динамические (1) или нединамические (0) обработчики. Если параметр не указан, будут получены обработчики обоих типов.

description
string

будут обработаны записи с описаниями схожими с данным.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

params = {
    "description": "handler",
    "handler_type": 1,
    "page": 1,
}

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/handlers"

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

handlers options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get handler count

Позволяет получить количество обработчиков.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
description
string

Найти все обработчики с описанием, схожим с этим параметром.

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-Account-Id".

handler_type
integer
Enum: 0 1 2

Следует ли получать только обработчик с определенным типом (0 - статический, 1 - динамический, 2 - lambda).

Если не задано, будут получены обработчики любого типа.

Если указан handler_type, устаревший параметр is_dynamic будет проигнорирован.

is_dynamic
integer
Deprecated
Enum: 0 1

Получать только динамические (1) или нединамические (0) обработчики. Если параметр не указан, будут получены обработчики обоих типов.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

params = {
    "description": "handler",
    "handler_type": 0,
}

url = f"{baseUri}/handlers/count"

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "handlers_count": 5
}

handler count options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

validate handler policies

Позволяет проверить политики обработчика, прежде чем использовать их для создания или обновления обработчика.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
required
object (Policies)

Набор правил, определяющих обработку входных изображений. Отсутствие политик указывает на то, что обработчик является динамическим.

Responses

Request samples

Content type
application/json
{
  • "policies": {
    }
}

Response samples

Content type
application/json
Example
{}

handler policies validator options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get handler

Позволяет получить обработчик по его handler_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

import requests

baseUri = "http://127.0.0.1:5000/6"

# create handler
headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}
url = f"{baseUri}/handlers"
payload = {"handler_type": 1}
dynamicHandlerId = requests.post(url, json=payload, headers=headers).json()["handler_id"]

# get handler
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="
}
url = f"{baseUri}/handlers/{dynamicHandlerId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "handler_id": "de0846a8-09b2-4c6f-8175-99cfae98cf6b",
  • "account_id": "3c3a83c2-c21e-4855-91b5-34e6b63fb12d",
  • "description": "first handler",
  • "policies": {
    },
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "last_update_time": "2018-08-11T09:11:41.674Z",
  • "handler_type": 0
}

replace handler

Позволяет обновить обработчик. Невозможно обновить только часть обработчика, нужно указать все поля для текущего обработчика.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
description
string <= 128 characters

Описание обработчика. Позволяет отличать создаваемые обработчики друг от друга, а также для фильтрации обработчиков с помощью запросов "get handlers" и "get handler count".

object (Policies)

Набор правил, определяющих обработку входных изображений. Отсутствие политик указывает на то, что обработчик является динамическим.

handler_type
integer (handler_type)
Default: 0
Enum: 0 1 2

Следует ли получать только статические (0), динамические (1) или lambda обработчики (2).

Если тип является статическим:

  • Обработчик будет использовать политики, которые ему назначены.

Если тип является динамическим:

  • Обработчик будет использовать заданные политики для каждого запроса на генерацию события.

Если тип является lambda:

  • Все запросы будут отправляться в обработчик lambda с использованием lambda_id.
  • Формат тела запроса и ответа может не соответствовать тому, что указано для канонических обработчиков.
  • Логика поведения запроса полностью зависит от lambda, написанной пользователем.
  • См. описание в руководстве разработчика Lambda.
is_dynamic
boolean (is_dynamic)
Deprecated
Default: false

Флаг динамического обработчика. Если установлено значение "true", обработчик создается без предопределенных политик.

Используйте этот флаг, чтобы указать политики для каждого события, созданного с помощью ресурса "/handlers/{handler_id}/event". Для задания политик используйте схему тела запроса "multipart/form-data".

lambda_id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...

Lambda ID.

Responses

Request samples

Content type
application/json
{
  • "description": "Handler example",
  • "policies": {
    },
  • "handler_type": 0,
  • "is_dynamic": false,
  • "lambda_id": "string"
}

Response samples

Content type
application/json
Example
{}

check if handler exists

Позволяет проверить существование обработчика по указанному handler_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/handlers"

payload = {"handler_type": 1}
dynamicHandlerId = requests.post(url, json=payload, headers=headers).json()["handler_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/handlers/{dynamicHandlerId}"
response = requests.head(url, headers=headers)

print(response.status_code)

remove handler

Позволяет удалить обработчик по его handler_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/handlers"

payload = {"handler_type": 1}
dynamicHandlerId = requests.post(url, json=payload, headers=headers).json()["handler_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/handlers/{dynamicHandlerId}"
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

handler options

Позволяет получить параметры для ресурса.

path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

events

generate events

Позволяет обрабатывать изображения и/или необработанные биометрические шаблоны с помощью указанного обработчика и генерировать события.

Для указания политик с помощью динамического обработчика нужно использовать схему multipart/form-data.

Если на сервере отключена поддержка сервиса Events, события не будут сохраняться в базе данных.

Примечания к входящим данным:

  • при необходимости установите время детекции изображения, иначе оно будет равно времени запроса.
  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут отображены в поле detections > samples > face/body > rect сгенерированного события.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
handler_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

Идентификатор обработчика.

query Parameters
city
string (location_str) <= 36 characters
Example: city=New York

Город, в котором получено событие.

area
string (location_str) <= 36 characters
Example: area=Manhattan

Область, в которой получено событие.

district
string (location_str) <= 36 characters
Example: district=Midtown

Район, в котором получено событие.

street
string (location_str) <= 36 characters
Example: street=West 48th street

Улица, на которой получено событие.

house_number
string (location_str) <= 36 characters
Example: house_number=220

Номер дома, в котором получено событие.

longitude
number (longitude) [ -180 .. 180 ]
Example: longitude=36.616

Долгота в градусах, часть составного географического положения. Географическое положение считается заданным правильно, если заданы и долгота и широта.

latitude
number (latitude) [ -90 .. 90 ]
Example: latitude=55.752

Широта в градусах, часть составного географического положения. Географическое положение считается заданным правильно, если заданы и долгота и широта.

external_id
string (event_external_id) <= 36 characters
Default: ""
Example: external_id=14159261415926

Внешний идентификатор для созданных событий и лиц (если в обработчике включен store_face).

Когда в поле "external_id" используются символы Unicode (например, символ "+"), строка должна быть закодирована. В противном случае символы Unicode будут потеряны. Клиентская библиотека "luna3" предоставляет пример кодировки.

user_data
string (face_user_data) <= 128 characters
Default: ""
Example: user_data=face of person

Пользовательские данные для созданных событий и лиц (если в обработчике включен store_face).

image_type
integer
Default: 0
Enum: 0 1 2

Тип входного изображения. 0 – необработанное изображение, 1 – биометрический образец лица, 2 – биометрический образец тела.

aggregate_attributes
integer (aggregate_attributes)

Следует ли агрегировать следующие параметры:

  • БШ лица (не отображается в теле ответа)
  • БШ тела (не отображается в теле ответа)
  • базовые атрибуты лица (age, gender)
  • базовые атрибуты тела (apparent age, apparent gender)
  • состояния маски
  • эмоции
  • liveness
  • верхняя часть тела
  • акссесуары на теле

Агрегация будет выполняться только в том случае, если в обработчике включены соответствующие параметры для оценки перечисленных выше параметров.

Если параметр задан, все оцененные параметры каждого изображения будут агрегированы и сохранены в событии как отдельные объекты для всех изображений. В теле ответа агрегированные базовые атрибуты лица всех изображений будут отображаться в поле face_attributes > basic_attributes, а остальные агрегированные параметры будут отображаться в поле aggregate_estimations.

В противном случае все оцененные параметры каждого изображения будут храниться в событии как отдельные объекты. В теле ответа базовые атрибуты лица будут отображаться в поле face_attributes > basic_attributes соответствующего изображения, а остальные параметры будут отображаться в поле detections > samples > face/body > detection > attributes соответствующего изображения.

source
string (source) <= 128 characters
Example: source=3rd Avenue

Дополнительная информация, которую предоставляет пользователь вместе с событием.

stream_id
string <uuid> (stream_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: stream_id=8950722f-3fd4-4223-b48f-03f95f0e8dfb

Stream ID.

tags
Array of strings (tag) >= 0 items [ items <= 36 characters ]
Example: tags=tag_1,tag_2

Список тегов, разделенных запятыми. Каждое событие в результатах запроса будет содержать все указанные теги. Каждый тег может содержать не более 36 символов.

track_id
string (track_id) ^[a-zA-Z0-9_\-]{1,36}$
Example: track_id=useful_track_id_number_1

Track ID события.

use_exif_info
integer
Default: 1
Enum: 0 1
Example: use_exif_info=1

Следует ли автоматически поворачивать изображение на основе данных EXIF.

Обрабатываемое изображение должно иметь EXIF данные, иначе автоматическая ориентация выполняться не будет.

Не влияет на изображения в формате tiff (они всегда автоматически ориентированы).

Не поддерживается с биометрическими образцами (см. параметры warped_image или image_type).

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Luna-Event-Time
string <date-time> (time)
Examples:
  • 2018-12-16T15:29:59.300275-08:00 - time with timezone with an offset of -08:00 from UTC (Pacific Standard Time).
  • 2018-12-16T15:29:59.300275Z - utc time. The "Z" suffix denotes a UTC offset of 00:00 (Zulu).

Определяемое пользователем время события. Все события будут сохранены с этим временем в качестве параметра "create_time".

Формат времени – rfc3339. Любой другой формат игнорируется.

Luna-Event-End-Time
string <date-time> (time)
Examples:
  • 2018-12-16T15:29:59.300275-08:00 - time with timezone with an offset of -08:00 from UTC (Pacific Standard Time).
  • 2018-12-16T15:29:59.300275Z - utc time. The "Z" suffix denotes a UTC offset of 00:00 (Zulu).

Заданное пользователем время окончания события. Все события будут сохранены с этим временем, указанном в параметре "end_time".

Формат времени - rfc3339. Все остальные форматы игнорируются.

Content-Type
string
Enum: "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "multipart/form-data" "application/json" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64" "application/x-sdk-descriptor" "application/x-vl-xpk" "application/x-sdk-descriptor-base64" "applicaition/x-vl-xpk-base64"
Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
Example
{
  • "images": [],
  • "events": [
    ],
  • "filtered_detections": {
    }
}

generate events options

Позволяет получить параметры для ресурса.

path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

generate stream events (beta)

ПРЕДУПРЕЖДЕНИЕ Экспериментальный ресурс. Обратная совместимость не гарантируется.

Обрабатывать изображения с помощью указанного обработчика и генерировать события потока.

Если на сервере отключена поддержка сервиса Events, события не будут сохраняться в базе данных.

Примечания к входящим данным:

  • при необходимости установите время детекции изображения, иначе оно будет равно времени запроса.
  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут отображены в поле detections > samples > face/body > rect сгенерированного события.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/msgpack"

Формат данных тела запроса.

Request Body schema: application/msgpack
aggregate_attributes
required
integer (aggregate_attributes)

Следует ли агрегировать атрибуты.

Если установлено значение "0", биометрический шаблон и базовые атрибуты извлекаются для каждого биометрического образца.

Если установлено значение "1", можно создать агрегированный биометрический шаблон, получить агрегированные базовые атрибуты, или и то, и другое. Поведение зависит от параметров extract_basic_attributes и extract_descriptor:

  • Если включен параметр extract_descriptor, все биометрические образцы в запросе будут использоваться для создания единого биометрического шаблона. Агрегированный биометрический шаблон дает более точные результаты при сравнении биометрических шаблонов.

  • Если включен параметр extract_basic_attributes, все биометрические образцы в запросе будут использоваться для извлечения базовых атрибутов. Значения возраста, пола и этнической принадлежности, полученные из нескольких биометрических образцов, являются более точными.

Убедитесь, что все биометрические образцы в запросе принадлежат одному человеку.

Если на входном изображении несколько лиц, возникает ошибка.

required
Array of objects (event_source_schema) non-empty

Источники события.

use_exif_info
integer (use_exif_info)
Default: 1
Enum: 0 1

Следует ли пытаться автоматически ориентировать изображение на основе EXIF-данных.

Не влияет на изображения в формате tiff (они всегда автоматически ориентированы).

Не поддерживается с биометрическими образцами (см. параметры warped_image или image_type).

Responses

Response samples

Content type
application/json
Example
{
  • "images": [],
  • "events": [
    ],
  • "filtered_detections": {
    }
}

generate stream events options

Позволяет получить параметры для ресурса.

path Parameters
handler_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

Идентификатор обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

save event

Позволяет сохранить событие, созданное пользователем. Структура события аналогична событию из ответа обработчика. Входящие события также будут отправляться сервису Sender и плагинам. Следовательно, эти события являются теми же событиями, за исключением того, что события были сгенерированы внешним обработчиком. Идентификатор обработчика должен принадлежать динамическому обработчику.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
handler_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

Идентификатор динамического обработчика.

query Parameters
wait_saving
integer
Default: 1
Enum: 0 1

Следует ли ждать сохранения событий.

Если указано "0", будет ожидаться код состояния 202 в ответ на успешный запрос. Этот код состояния возвращается после того, как событие проверено и добавлено в буфер. Система не ждет, пока событие будет сохранено в базе данных. Событие будет сохранено в базе данных после отправки ответа.

Если указано "1", будет ожидаться код состояния 201 в ответ на успешный запрос. Этот код состояния возвращается только после того, как событие сохраняется в базе данных.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
Array of objects <= 100 items

Список детекций, связанных с телом и лицом.

source
string (source) <= 128 characters

Дополнительная информация, которую пользователь предоставляет с событием.

stream_id
string <uuid> (stream_id) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...

Stream ID.

object (input_event_location)

Информация о месте, где произошло событие.

external_id
string (event_external_id) <= 36 characters
Default: ""

Определяемый пользователем внешний идентификатор события.

user_data
string (event_user_data) <= 128 characters
Default: ""

Пользовательские данные, связанные с событием.

track_id
string (track_id) ^[a-zA-Z0-9_\-]{1,36}$

Track ID события.

object (input_event_face)

Лицо, связанное с событием.

Array of objects or null <= 30 items

Отсортированный список с результатом сравнения для события.

object or null (input_event_face_attribute)

Извлеченные пользователем атрибуты лица события.

object or null (input_event_body_attribute)

Атрибуты тела для события, извлеченные пользователем.

object (input_event_aggregate_estimations)

Агрегированные атрибуты, полученные из биометрических образцов.

tags
Array of strings [ 0 .. 1000 ] items [ items <= 36 characters ]

Список тегов.

create_time
string <date-time>

Время создания события.

end_time
string <date-time>

Время окончания события.

object (event_meta_common)

Заданная пользователем метаинформация (JSON-объект).

Responses

Request samples

Content type
application/json
{
  • "detections": [
    ],
  • "source": "3rd Avenue",
  • "stream_id": "b668c4a5-2191-476e-a261-3b4f9ce2e25e",
  • "location": {
    },
  • "external_id": "14159261415926",
  • "user_data": "some event",
  • "track_id": "useful_track_id_number_1",
  • "face": {
    },
  • "matches": [
    ],
  • "face_attributes": {
    },
  • "body_attributes": {
    },
  • "aggregate_estimations": {
    },
  • "tags": [
    ],
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "end_time": "2018-08-11T09:11:41.674Z",
  • "meta": {
    }
}

Response samples

Content type
application/json
{}

save event options

Позволяет получить параметры для ресурса.

path Parameters
handler_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

Идентификатор динамического обработчика.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get statistics on events

Позволяет получить статистику событий по целям с примененными фильтрами.

Поля событий и/или функции (количество, минимум и т. д.) могут быть установлены в качестве целей для агрегирования событий.

Доступна группировка по частоте или по временным интервалам.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
Array of objects (targets) >= 0 items
Default: [{"column":"event_id","aggregator":"count"}]

Можно указать одно или несколько целевых полей событий и функций для них для агрегирования данных.

В таблице представлены целевые поля событий и доступные для них функции:

Колонка Агрегатор
count max min avg group_by
event_id + - - - +
external_id + - - - +
handler_id + - - - +
stream_id + - - - +
source + - - - +
top_matching_candidates_label + - - - +
top_similar_object_id + - - - +
top_similar_external_id + - - - +
top_similar_object_similarity + + + + -
create_time + + + - -
end_time + + + - -
face_id + - - - +
gender + + + + +
age + + + + +
emotion + + + + +
mask + + + + +
ethnic_group + + + + +
liveness + + + + +
user_data + - - - +
tags + + + - -
city + - - - +
area + - - - +
district + - - - +
street + - - - +
house_number + - - - +
geo_position + - - - -
track_id + - - - +
apparent_age + + + + +
apparent_gender + + + + +
sleeve_length + - - - +
headwear_state + + + + +
headwear_apparent_color + - - - +
upper_clothing_colors + - - - -
lower_garment_colors + - - - -
lower_garment_type + - - - +
shoes_apparent_color + - - - +
backpack_state + + + + +
meta.* + + + + -

Примечание. Должна быть хотя бы одна функция, отличная от group_by в targets, иначе возникнет ошибка.

Array of objects (filters) >= 0 items

Определяет фильтры для событий.

Операторы, доступные для каждого фильтра:

Фильтр Оператор
like, nlike in, nin eq, neq gt, gte, lt, lte covered eq null
tags + - - - - -
source - + + - - +
stream_id - + + - - +
user_data - + + - - -
account_id - + + + - -
event_id - + + + - -
external_id - + + + - -
handler_id - + + + - -
top_similar_object_id - + + + - -
top_similar_external_id - + + + - -
top_matching_candidates_label - + + - - -
top_similar_object_similarity - - - + - -
face_id - + + + - -
gender - + + + - +
age - + + + - +
emotion - + + + - +
mask - + + + - +
ethnic_group - + + + - +
liveness - + + + - +
city - + + - - +
area - + + - - +
district - + + - - +
street - + + - - +
house_number - + + - - +
geo_position - - - - + +
track_id - + + - - +
apparent_age - + + + - +
apparent_gender - + + + - +
sleeve_length - + + - - +
headwear_state - + + + - +
upper_clothing_colors - + - - - +
backpack_state - + + + - +
lower_garment_colors - + - - - +
headwear_apparent_color - + + - - +
lower_garment_type - + + - - +
shoes_apparent_color - + + - - +
meta.* + + + + - +
Array of objects (periods) >= 0 items

Указывает период создания события. Все события, созданные за этот период, будут включены в статистику.

Можно установить начало и конец периода или только одну из границ.

Примечание. Можно указать только один период.

group_by
string (group_by)

Позволяет группировать события по времени создания одним из двух способов:

  1. Группировка по временным интервалам – количество и размерность:
Значение параметра Описание
1m одна минута
2h два часа
7d семь дней
5w пять недель
3M три месяца
10y десять лет
  1. Группировка по частоте – одна из следующих:
Значение параметра Описание
monthOfYear по месяцам года
weekOfYear по неделям года
dayOfYear по дням года
dayOfMonth по дням месяца
dayOfWeek по дням недели
hourOfDay по часам дня
minuteOfHour по минутам часа

Responses

Request samples

Content type
application/json
{
  • "targets": [
    ],
  • "filters": [
    ],
  • "period": [
    ],
  • "group_by": "dayOfWeek"
}

Response samples

Content type
application/json
{
  • "fields": [
    ],
  • "stats": [
    ]
}

events statistics options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get events

Позволяет получить события, удовлетворяющие фильтрам.

Фильтры по умолчанию для событий:

  • create_time__lt – текущие дата и время;
  • create_time__gte – текущие дата и время минус месяц.

Фильтры по умолчанию не используются, если определен любой из следующих параметров:

- список event_id;
- нижнее пороговое значение идентификатора события (`event_id__gte`);
- верхнее пороговое значение идентификатора события (`event_id__lt`);
- нижнее пороговое значение времени создания (`create_time__gte`);
- верхнее пороговое значение времени создания (`create_time__lt`).

Параметр target определяет целевое поле, которое будет отображаться для каждого события. Если параметр не установлен, ответ будет содержать все поля.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

target
Array of strings (events_targets)
Items Enum: "event_id" "account_id" "create_time" "end_time" "external_id" "handler_id" "stream_id" "source" "top_match" "match_result" "face_detections" "body_detections" "face_id" "attach_result" "gender" "age" "emotion" "ethnic_group" "tags" "user_data" "location" "mask" "liveness" "track_id" "body_basic_attributes" "upper_body" "lower_body" "accessories" "meta"
Example: target=create_time,event_id,face_detections

Список целевых полей событий, разделенных запятыми. Если параметр задан, каждое событие в результатах запроса будет содержать только указанные поля, в противном случае будут возвращены события со всеми полями.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

end_time__gte
string <date-time> (time)
Example: end_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра end_time объекта.

end_time__lt
string <date-time> (time)
Example: end_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра end_time объекта.

sources
string
Example: sources=cam1,cam2

Список источников, разделенных запятыми. Каждое событие в результатах запроса будет содержать один из указанных источников.

stream_ids
string <list of uuid.>
Example: stream_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список идентификаторов "stream_id", разделенных запятыми.

cities
string
Example: cities=Moscow,New York

Список названий городов, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" одно из указанных названий городов.

areas
string
Example: areas=CAD,Manhattan

Список областей, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" одну из указанных областей.

districts
string
Example: districts=Mitino,Midtown

Список районов, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" один из указанных районов.

streets
string
Example: streets=Arbat,West 48th street

Список улиц, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" одну из указанных улиц.

house_numbers
string
Example: house_numbers=1,220

Список номеров домов, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" один из указанных номеров домов в параметре "location".

longitude (number) or null_filter (string)
Example: origin_longitude=36.616

Начало отсчета долготы в градусах, часть составного фильтра географического положения или "null" если не задана геопозиция. Фильтр географического положения – это ограничивающий прямоугольник, заданный координатами его центра и некоторой дельтой. Фильтр географического положения считается корректно заданным, если установлены оба параметра origin_longitude и origin_latitude, и считается некорректно заданным, если ни один из параметров origin_latitude, longitude_delta, latitude_delta не установлен. Фильтр "null" применяется только в том случае, если для origin_longitude или origin_latitude задано значение "null", и longitude_delta и latitude_delta не установлены.

latitude (number) or null_filter (string)
Example: origin_latitude=55.752

Начало отсчета широты в градусах, часть составного фильтра географического положения или "null" если не задана геопозиция. Фильтр географического положения – это ограничивающий прямоугольник, заданный координатами его центра и некоторой дельтой. Фильтр географического положения считается корректно заданным, если установлены оба параметра origin_longitude и origin_latitude, и считается некорректно заданным, если ни один из параметров origin_latitude, longitude_delta, latitude_delta не установлен. Фильтр "null" применяется только в том случае, если для origin_longitude или origin_latitude задано значение "null", и longitude_delta и latitude_delta не установлены.

longitude_delta
number (longitude_delta) [ 0 .. 90 ]
Default: 0.01
Example: longitude_delta=0.01

Дельта долготы в градусах, часть составного фильтра географического положения.

Фильтр географического положения – это ограничивающий прямоугольник, заданный координатами его центра и некоторой дельтой.

Фильтр географического положения считается корректно заданным, если установлены оба параметра origin_longitude и origin_latitude, и считается некорректно заданным, если ни один из параметров origin_latitude, longitude_delta, latitude_delta не установлен.

Если оба параметра origin_longitude и origin_latitude установлены, а параметр longitude_delta не установлен, применяется значение по умолчанию.

Примечание. Ограничивающие прямоугольники с вершиной или границей на Международной линии перемены дат (IDL), а также на Северном или Южном полюсе не полностью поддерживаются из-за особенностей пространственного индекса базы данных. Результат фильтрации может отличаться от предполагаемого.

Настоятельно рекомендуется использовать только в пределах одного города.

latitude_delta
number (latitude_delta) [ 0 .. 90 ]
Default: 0.01
Example: latitude_delta=0.01

Дельта широты в градусах, часть составного фильтра географического положения.

Фильтр географического положения – это ограничивающий прямоугольник, заданный координатами его центра и некоторой дельтой.

Фильтр географического положения считается корректно заданным, если установлены оба параметра origin_longitude и origin_latitude, и считается некорректно заданным, если ни один из параметров origin_latitude, longitude_delta, latitude_delta не установлен.

Если оба параметра origin_longitude и origin_latitude установлены, а параметр longitude_delta не установлен, применяется значение по умолчанию.

Примечание. Ограничивающие прямоугольники с вершиной или границей на Международной линии перемены дат (IDL), а также на Северном или Южном полюсе не полностью поддерживаются из-за особенностей пространственного индекса базы данных. Результат фильтрации может отличаться от предполагаемого.

Настоятельно рекомендуется использовать только в пределах одного города.

top_matching_candidates_label
string
Example: top_matching_candidates_label=matching_label

Метка группы результатов сравнения, к которой относятся кандидаты с самой высокой степенью схожести. Каждое событие в результатах запроса будет содержать данную метку.

top_similar_object_ids
Array of strings (external_id) [ items <= 36 characters ]
Example: top_similar_object_ids=14159261415926

Список наиболее похожих object_id, разделенных запятыми. Каждое событие в результатах запроса будет содержать один из указанных наиболее похожих object_id.

top_similar_external_ids
Array of strings <uuid> (uuid)
Example: top_similar_external_ids=557d54ec-29ad-4f3c-93b4-c9092ef12515

Список наиболее похожих external_id, разделенных запятыми. Каждое событие в результатах запроса будет содержать один из указанных наиболее похожих external_id.

top_similar_object_similarity__gte
number
Example: top_similar_object_similarity__gte=0.5

Верхнее включенное пороговое значение параметра top_similar_object_similarity.

top_similar_object_similarity__lt
number
Example: top_similar_object_similarity__lt=0.5

Нижнее исключенное пороговое значение параметра top_similar_object_similarity.

age__lt
integer
Example: age__lt=50

Верхнее исключенное пороговое значение для параметра age.

age__gte
integer
Example: age__gte=50

Нижнее включенное пороговое значение для параметра age.

integer or null_filter (string)
Example: gender=1

Пол. "1" - мужской, "0" - женский, "null" - нулевое значение.

emotions
string <list of integer and null (1, 2, 3, 4, 5, 6, 7, null)>
Example: emotions=1,2,3,null

Список преобладающих эмоций, разделенных запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одну из заданных эмоций.

Эмоция Значение
anger (злость) 1
disgust (отвращение) 2
fear (страх) 3
happiness (счастье) 4
neutral (нейтральность) 5
sadness (печаль) 6
surprise (удивление) 7
masks
string <list of integer and null (1, 2, 3, null)>
Example: masks=1,2,3,null

Список преобладающих статусов маски, разделенных запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из перечисленных статусов маски.

mask значение
missing 1
medical_mask 2
occluded 3
ethnic_groups
string <list of integer and null (1, 2, 3, 4, null)>
Example: ethnic_groups=1,2,null

Список преобладающих этнических групп, разделенных запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одну из перечисленных этнических групп.

этническая группа значение
African american 1
Indian 2
Asian 3
Caucasian 4
liveness
string <list of integer and null (0, 1 ,2, null)>
Example: liveness=1,2,null

Список преобладающих состояний Liveness, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одно из перечисленных значений Liveness.

Liveness Значение
spoof 0
real 1
unknown 2
Array of integers or null_filter (string)
Example: apparent_gender=1

Список предполагаемых состояний пола, разделенных запятыми: 0 - женский, 1 - мужской, 2 - неизвестно, "null" - нулевое значение. Каждое событие в результатах запроса будет содержать одно из указанных состояний.

apparent_age__gte
integer [ 0 .. 100 ]
Example: apparent_age__gte=50

Нижнее включенное пороговое значение преполагаемого возраста.

apparent_age__lt
integer [ 0 .. 100 ]
Example: apparent_age__lt=50

Верхнее исключенное пороговое значение преполагаемого возраста.

Array of integers or null_filter (string)
Example: headwear_states=1

Список состояний головного убора, разделенный запятыми: 0 - отсутствует, 1 - присутствует, 2 - неизвестно, "null" - нулевое значение.

Array of headwear_color (string) or null_filter (string)
Example: headwear_apparent_colors=white,undefined,null

Список предполагаемых цветов верхней одежды, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из указанных цветов.

sleeve_lengths
Array of strings
Items Enum: "short" "long" "undefined" null
Example: sleeve_lengths=short,null

Список состояний длины рукавов, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одно из указанных состояний.

Array of clothing_color (strings) or null_filter (string)
Example: upper_clothing_colors=black,white

Список цветов верхней одежды, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать как минимум одно из указанных цветов.

Array of clothing_color (strings) or null_filter (string)
Example: lower_garment_colors=black,white

Список цветов нижней одежды. Каждое событие в результатах запроса будет содержать один из указанных цветов.

lower_garment_types
Array of strings
Items Enum: "undefined" "trousers" "shorts" "skirt" null
Example: lower_garment_types=trousers,undefined,null

Список типов нижней одежды, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из указанных типов.

Array of shoes_color (string) or null_filter (string)
Example: shoes_apparent_colors=white,undefined,null

Список предполагаемых цветов обуви, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из указанных цветов.

Array of integers or null_filter (string)
face_ids
string <list of uuid>
Example: face_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список face_id, разделенных запятыми.

event_ids
string <list of uuid.>
Example: event_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список event_id, разделенных запятыми.

event_id__gte
string <uuid.>
Example: event_id__gte=8950722f-3fd4-4223-b48f-03f95f0e8dfb

Верхнее исключенное пороговое значение для параметра event_id. События в ответе будут отсортированы по их идентификаторам. Если не указано ни event_id__lt, ни event_id__gte, события будут отсортированы по времени создания.

event_id__lt
string <uuid.>
Example: event_id__lt=346a5645-ec89-4806-820a-dbcb6e0dc381

Нижнее включенное пороговое значение для параметра event_id. События в ответе будут отсортированы по их идентификаторам. Если не указано ни event_id__lt, ни event_id__gte, события будут отсортированы по времени создания.

handler_ids
string <list of uuid.>
Example: handler_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список handler_id, разделенных запятыми.

external_ids
string
Example: external_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список external_id, разделенных запятыми.

user_data
string
Example: user_data=user_data_text

Найти все объекты с параметром user_data, значение которого схоже со значением данного фильтра. Можно указать неполное значение user_data для этого фильтра.

tags
Array of strings (tag) >= 0 items [ items <= 36 characters ]
Example: tags=tag_1,tag_2

Список тегов, разделенных запятыми. Каждое событие в результатах запроса будет содержать все указанные теги. Каждый тег может содержать не более 36 символов.

string or null_filter (string)
Example: track_ids=track_id_number_1,track_id_number_2,null

Список track_id, разделенных запятыми. Каждое событие в результатах запроса будет содержать один из указанных track_id. Каждый track_id может содержать не более 36 символов.

string or null_filter (string)
Example: meta.field_1__gt:numeric=36.6&meta.field_2.field_3__in=value,none&meta.field_4:integer=5

Заданные пользователем фильтры метаинформации события.

Образец синтаксиса обращения к параметру: meta.<путь.до.поля>__<оператор>:<тип>

Путь к полю - это путь до поля JSON метаифнормации события. Для навигации по вложенным объектам используется точка (.).

Оператор сравнения полей (опционален). Один из eq (по умолчанию), neq, like, nlike, in, nin, gt, gte, lt, lte.

Тип данных поля (опционален). Один из string (по умолчанию), integer, numeric.

Допустимые фильтры:

Оператор Тип
null string integer numeric
eq + + + +
neq + + + +
like - + - -
nlike - + - -
in + + + +
nin + + + +
gt - + + +
gte - + + +
lt - + + +
lte - + + +
order
string
Enum: "asc" "desc"

Порядок сортировки. Если задано значение "desc", сначала будут отображаться самые новые события. Если задано значение "asc", самые старые события будут показаны первыми.

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

params = {
    "age__lt": 90,
    "cities": "New York,Moscow",
    "track_ids": "There_and_Back_Again,Around_the_World",
    "emotions": "3,4,5,6,7",
}

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/events"

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "events": [
    ]
}

events options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get event

Позволяет получить событие по его event_id.

Параметр target определяет целевое поле, которое будет отображаться для указанного события. Если такое поле не указано, ответ будет содержать все поля.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
event_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

Идентификатор события.

query Parameters
target
Array of strings (events_targets)
Items Enum: "event_id" "account_id" "create_time" "end_time" "external_id" "handler_id" "stream_id" "source" "top_match" "match_result" "face_detections" "body_detections" "face_id" "attach_result" "gender" "age" "emotion" "ethnic_group" "tags" "user_data" "location" "mask" "liveness" "track_id" "body_basic_attributes" "upper_body" "lower_body" "accessories" "meta"
Example: target=create_time,event_id,face_detections

Список целевых полей событий, разделенных запятыми. Если задано, событие в результатах запроса будет содержать только указанные поля, в противном случае будет возвращено событие со всеми полями.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/handlers"
payload = {
    "description": "non_dynamic_handler",
    "policies": {},
    "handler_type": 0,
}
handlerId = requests.post(url, json=payload, headers=headers).json()["handler_id"]

with open("image.jpg", "rb") as image_file:
    image = image_file.read()

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
    "Luna-Event-Time": "2020-10-10T09:11:41.674Z",
}
url = f"{baseUri}/handlers/{handlerId}/events"

eventId = requests.post(
    url,
    headers=headers,
    data=image,
).json()["events"][0]["event_id"]

# We are waiting for the event to be created
time.sleep(5)

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/events/{eventId}"

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "create_time": "2020-10-11T09:11:41.674Z",
  • "end_time": "2020-10-11T09:11:41.674Z",
  • "event_id": "bd6df8ea-1df2-449d-b8e3-d1d40b215dc8",
  • "handler_id": "791f002e-919c-459d-b766-cba9f4130853",
  • "face_id": "e88b8804-fedb-4dc3-8a59-171caf416571",
  • "account_id": "a778c4a5-2191-476e-a261-3b4f9ce2e25e",
  • "external_id": "2xQ2gprbMUePw1s9gw9fvA==",
  • "source": "3rd Avenue",
  • "stream_id": "a778c4a5-2191-476e-a261-3b4f9ce2e25e",
  • "top_match": {
    },
  • "match_result": [
    ],
  • "face_detections": [
    ],
  • "body_detections": [
    ],
  • "attach_result": [
    ],
  • "gender": 1,
  • "age": 27,
  • "emotion": 5,
  • "mask": 1,
  • "ethnic_group": 3,
  • "tags": [
    ],
  • "user_data": "people are strange",
  • "location": {
    },
  • "track_id": "e3ed4e18-2983-418d-879a-825e4517fc6c",
  • "body_basic_attributes": {
    },
  • "upper_body": {
    },
  • "lower_body": {
    },
  • "accessories": {
    },
  • "meta": {
    }
}

check if event exists

Позволяет проверить существование события по указанному event_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
event_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

Идентификатор события.

query Parameters
target
Array of strings (events_targets)
Items Enum: "event_id" "account_id" "create_time" "end_time" "external_id" "handler_id" "stream_id" "source" "top_match" "match_result" "face_detections" "body_detections" "face_id" "attach_result" "gender" "age" "emotion" "ethnic_group" "tags" "user_data" "location" "mask" "liveness" "track_id" "body_basic_attributes" "upper_body" "lower_body" "accessories" "meta"
Example: target=create_time,event_id,face_detections

Список целевых полей событий, разделенных запятыми. Если задано, событие в результатах запроса будет содержать только указанные поля, в противном случае будет возвращено событие со всеми полями.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/handlers"
payload = {
    "description": "non_dynamic_handler",
    "policies": {},
    "handler_type": 0,
}
handlerId = requests.post(url, json=payload, headers=headers).json()["handler_id"]

# emit event
with open("image.jpg", "rb") as image_file:
    image = image_file.read()

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
    "Content-Type": "image/jpeg",
    "Luna-Event-Time": "2020-10-10T09:11:41.674Z",
}
url = f"{baseUri}/handlers/{handlerId}/events"

eventId = requests.post(
    url,
    headers=headers,
    data=image,
).json()["events"][0]["event_id"]

# We are waiting for the event to be created
time.sleep(5)

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/events/{eventId}"

response = requests.head(url, headers=headers)

print(response.status_code)

event options

Позволяет получить параметры для ресурса.

path Parameters
event_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

Идентификатор события.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

task processing

clustering task

Позволяет создать задачу Clustering.

В разделе filters указывается, какие лица (или события) должны быть добавлены в кластер. Фильтры объединяются логическим И.

Доступные фильтры зависят от типа объекта: события или лица.

Отчет о выполненной задаче Clustering можно получить с помощью задачи Reporter.

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
description
string

Данные пользователя, предоставленные для текущей задачи.

required
object (clustering_task_content)

Содержимое задачи Clustering.

Responses

Request samples

Content type
application/json
{
  • "description": "clustering faces",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 17
}

clustering options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

reporter task

Позволяет создать отчет по задаче в формате CSV.

В настоящий момент отчет создается только для задач Clustering.

Отчет содержит дополнительную информацию об объектах кластеризации (лицах или событиях). Можно указать дополнительную информацию, которая будет добавлена в отчет. Первый и второй столбцы в отчете всегда соответствуют номеру кластера и идентификатору объекта.

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи. Результат возвращается в ZIP-архиве, который содержит файл CSV. Если установить параметр save_images, то в ZIP-архиве также будет находиться папка с изображениями.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
description
string

Предоставленные пользовательские данные для текущей задачи.

required
object (ReporterTaskContent)

Содержимое задачи Reporter.

Responses

Request samples

Content type
application/json
{
  • "description": "report clustering events from cam1",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 17
}

reporter options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

exporter task

Собирает данные о событиях и/или лицах и экспортирует их из LP в файл CSV. Строки файла представляют запрошенные объекты. Также возвращаются соответствующие биометрические образцы (если они были запрошены).

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи. Результат возвращается в ZIP-архиве, который содержит файл CSV. Если установить параметр save_images, то в ZIP-архиве также будет находиться папка с изображениями.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
description
string (task_description) <= 128 characters

Описание задачи.

required
any

Содержимое задачи Exporter.

Responses

Request samples

Content type
application/json
{
  • "description": "task description",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 31
}

exporter options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

linker task

Позволяет создать задачу Linker.

Задача позволяет присоединять лица к указанному списку в соответствии с фильтрами.

Можно использовать лица или события в качестве объектов для этой задачи. Когда используются события, для каждого из событий создается новое лицо.

Для обработки задачи необходимо наличие списка:

  • Если в запросе указывается параметр "list_id", сервис Tasks проверяет наличие списка. Если его нет, то система выдает сообщение об ошибке.
  • Если в запросе указывается параметр "create_list", то создается новый список.

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Если сервис Image Store отключен, результат подзадачи сохранен не будет.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
description
string

Данные пользователя, предоставленные для текущей задачи.

required
object (linker_task_content)

Содержимое задачи Linker.

Responses

Request samples

Content type
application/json
{
  • "description": "linker task one",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 29
}

linker options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

garbage collection task

Позволяет создать задачу Garbage Collection.

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Примечание: Если задача выполняется для лиц с отключенным флагом remove_samples, то единственный способ удалить биометрические образцы будет выполнение запроса "remove face/body sample".

Если сервис Image Store отключен, результат подзадачи сохранен не будет.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
One of
description
string

Данные пользователя, предоставленные для текущей задачи.

required
object (GcEventsTaskContent)

Содержимое задачи Garbage collection для удаления событий.

Responses

Request samples

Content type
application/json
Example
{
  • "description": "gc task one",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 25
}

gc options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

cross-matching task

Позволяет создать задачу Cross-Matching.

Задача Cross-matching позволяет сравнивать эталоны (лица, атрибуты или события) с кандидатами (лица, атрибуты или события) в соответствии с указанными фильтрами.

Все эталоны сравниваются со всеми кандидатами.

Можно ограничить количество кандидатов, возвращаемых в результатах сравнения и установить минимально допустимый порог схожести.

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
description
string

Данные пользователя, предоставленные для текущей задачи.

required
object (CrossMatchTaskContent)

Содержимое задачи Cross-matching.

Responses

Request samples

Content type
application/json
{
  • "description": "matching visitors with the list of VIP customers",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 15
}

cross match options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

ROC-curve calculating task

Позволяет создать задачу ROC-curve calculating.

ROC (Receiver Operating Characteristic) – это измерение производительности для задачи классификации при различных настройках пороговых значений. ROC-кривая строится используя отношение TPR (True Positive Rate) к FPR (False Positive Rate).

TPR – это количество пар истинно положительных совпадений, деленное на количество ожидаемых пар положительных совпадений, а FPR - количество пар ложно положительных совпадений, деленное на количество пар ожидаемых отрицательных совпадений. Каждая точка (FPR, TPR) ROC-кривой соответствует определенному порогу схожести.

Производительность модели определяется путем рассмотрения площади под ROC-кривой (или AUC), самой ROC-кривой и вторичной главной диагональной точкой пересечения, где частота ошибок типа I и типа II равны. Производительность модели также определяется путем попадания в top-N, то есть вероятностную оценку попадания пары положительных сравнений в top-N для любой группы результатов сравнения, отсортированной по схожести.

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
description
string

Данные пользователя, предоставленные для текущей задачи.

required
object (roc_task_content)

Содержимое задачи ROC-curve calculating.

Responses

Request samples

Content type
application/json
{
  • "description": "matching famous people with customers",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 14
}

roc options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

estimator task

Позволяет создать задачу Estimator.

Задача позволяет выполнять пакетную обработку изображений с использованием указанных политик. Политики можно указать в запросе или использовать сохраненные, передав handler_id.

Ресурс может принимать для обработки три типа источников с изображениями:

  • ZIP-архив
  • S3-подобное хранилище
  • Сетевой диск
  • FTP сервер
  • Сетевая файловая система Samba

Используйте GET-запрос к ресурсу "/6/tasks/{task_id}/result" чтобы получить результаты задачи.

Если результатов созданной задачи нет и возвращается ошибка "Object not found", Используйте GET-запрос к ресурсу "/6/tasks/errors/{error_id}" чтобы получить ошибки задачи.

Примечание. Перед использованием задачи необходимо убедиться, что в обработчике включена политика storage_policy с подполитиками notification_policy и event_policy.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Если сервис Image Store отключен, результат подзадачи сохранен не будет.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
description
string

Предоставленные пользовательские данные для текущей задачи.

required
object (estimator_task_content)

Содержимое задачи Estimator.

Responses

Request samples

Content type
application/json
Example
{
  • "description": "Задача Estimator с ZIP архивом",
  • "content": {
    }
}

Response samples

Content type
application/json
{
  • "task_id": 123
}

estimator options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

task info

get tasks

Позволяет получить задачи в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

end_time__lt
string <date-time> (time)
Example: end_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра end_time объекта.

end_time__gte
string <date-time> (time)
Example: end_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра end_time объекта.

task_ids
string <comma-separate task ids> (taskIds)
Example: task_ids=1,2,3

Список task_id, разделенных запятыми.

task_type
integer (task_type)
Enum: 0 1 2 3 4 5 6 7 8 9
Example: task_type=1

Тип задачи.

тип задачи значение
неизвестная 0
задача Linker 1
задача Clustering 2
задача Reporter 3
garbage collection 4
задача Additional Extraction 5
задача Cross-matching 6
задача ROC-curve calculating 7
задача Exporter 8
задача Estimator 9
task_status
integer (taskStatus)
Enum: 0 1 2 3 4 5
Example: task_status=1

Статус задачи:

статус задачи значение
ожидание 0
в процессе 1
отменено 2
выполнено с ошибкой 3
сбор результатов 4
завершено 5
schedule_id
integer (schedule_id) >= 1

Расписание, в соответствии с которым была создана задача.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/gc"
payload = {"content": {"target": "events"}}
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

params = {
    "task_id": taskId,
    "task_type": 4,
    "task_status": 5,
    "create_time__gte": "2018-08-11T09:11:41.674Z",
    "page": 1,
}

url = f"{baseUri}/tasks"
response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "tasks": [
    ]
}

tasks options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get tasks count

Позволяет получить количество задач в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

end_time__lt
string <date-time> (time)
Example: end_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра end_time объекта.

end_time__gte
string <date-time> (time)
Example: end_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра end_time объекта.

task_ids
string <comma-separate task ids> (taskIds)
Example: task_ids=1,2,3

Список task_id, разделенных запятыми.

task_type
integer (task_type)
Enum: 0 1 2 3 4 5 6 7 8 9
Example: task_type=1

Тип задачи.

тип задачи значение
неизвестная 0
задача Linker 1
задача Clustering 2
задача Reporter 3
garbage collection 4
задача Additional Extraction 5
задача Cross-matching 6
задача ROC-curve calculating 7
задача Exporter 8
задача Estimator 9
task_status
integer (taskStatus)
Enum: 0 1 2 3 4 5
Example: task_status=1

Статус задачи:

статус задачи значение
ожидание 0
в процессе 1
отменено 2
выполнено с ошибкой 3
сбор результатов 4
завершено 5
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-Account-Id".

schedule_id
integer (schedule_id) >= 1

Расписание, в соответствии с которым была создана задача.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/gc"
payload = {"content": {"target": "events"}}
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

params = {
    "task_id": taskId,
    "task_type": 4,
    "task_status": 5,
    "create_time__gte": "2018-08-11T09:11:41.674Z",
    "page": 1,
}

url = f"{baseUri}/tasks/count"
response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "count": 13
}

tasks count options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get task

Получить задачу по её идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/gc"
payload = {"content": {"target": "events"}}
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/tasks/{taskId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "task_id": 13,
  • "account_id": "b668c4a5-2191-476e-a261-3b4f9ce2e25e",
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "end_time": "2018-08-11T10:11:41.674Z",
  • "last_update_time": "2018-08-11T10:11:41.674Z",
  • "task_type": 1,
  • "task_status": 5,
  • "result_id": "b668c4a5-2191-476e-a261-3b4f9ce2e25e",
  • "count_task_parts_done": 10,
  • "count_task_parts_all": 10,
  • "content": {
    },
  • "description": "описание задачи"
}

cancel task

Позволяет отменить задачу по ее идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/gc"
payload = {"content": {"target": "events"}}
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/tasks/{taskId}"
response = requests.patch(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
{}

delete task

Позволяет удалить задачу и её результаты по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/gc"
payload = {"content": {"target": "events"}}
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/tasks/{taskId}"
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
Example
{}

task options

Позволяет получить параметры для ресурса.

path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get task result

Позволяет получить результат задачи по её идентификатору.

Помимо результата задачи в ответе могут быть возвращены возникшие ошибки.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/gc"
payload = {"content": {"target": "events"}}
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

# wait for tasks to complete
time.sleep(5)

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/tasks/{taskId}/result"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
Example
{
  • "result": [
    ],
  • "errors": [ ]
}

task result options

Позволяет получить параметры для ресурса.

path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get subtasks

Позволяет получить подзадачи по идентификатору задачи.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/gc"
payload = {"content": {"target": "events"}}
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

# wait for tasks to complete
time.sleep(5)

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/tasks/{taskId}/subtasks"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "subtasks": [
    ]
}

subtasks options

Позволяет получить параметры для ресурса.

path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

task errors

get task errors

Позволяет получить ошибки задачи по её идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

query Parameters
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-Account-Id".

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time
from uuid import uuid4

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

payload = {
    "description": "matching famous people with customers",
    "content": {
        "markup": [
            {"face_id": str(uuid4()), "label": 1},
            {"face_id": str(uuid4()), "label": 2},
        ],
    },
}

url = f"{baseUri}/tasks/roc"
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

# wait for tasks to complete
time.sleep(5)

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

url = f"{baseUri}/tasks/{taskId}/errors"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{}

task errors options

Позволяет получить параметры для ресурса.

path Parameters
task_id
required
integer >= 1

Идентификатор задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get errors

Позволяет получить ошибки в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

task_ids
string <comma-separate task ids> (taskIds)
Example: task_ids=1,2,3

Список task_id, разделенных запятыми.

error_code
integer (error_code)

Код ошибки.

error_ids
string <comma-separate task ids> (errorIds) non-empty
Example: error_ids=4,5,6

Список error_id, разделенных запятыми.

error_time__lt
string <date-time> (time)
Example: error_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра error_time объекта.

error_time__gte
string <date-time> (time)
Example: error_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра error_time объекта.

task_type
integer (task_type)
Enum: 0 1 2 3 4 5 6 7 8 9
Example: task_type=1

Тип задачи.

тип задачи значение
неизвестная 0
задача Linker 1
задача Clustering 2
задача Reporter 3
garbage collection 4
задача Additional Extraction 5
задача Cross-matching 6
задача ROC-curve calculating 7
задача Exporter 8
задача Estimator 9
status_code
integer (status_code) [ 400 .. 599 ]
Example: status_code=500

HTTP код состояния.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time
from uuid import uuid4

baseUri = "http://127.0.0.1:5000/6"

# create bad task
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "description": "matching famous people with customers",
    "content": {
        "markup": [
            {"face_id": str(uuid4()), "label": 1},
            {"face_id": str(uuid4()), "label": 2},
        ],
    },
}
url = f"{baseUri}/tasks/roc"
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

# wait for tasks to complete
time.sleep(5)

# get tasks error id list
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/{taskId}/errors"
response = requests.get(url, headers=headers)
errorIds = [
    str(error["error_id"]) for error in response.json()["errors"]
]

# get error according to the filters
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "errors": [
        {
            "error_id": ",".join(errorIds),
            "task_id": taskId,
            "error_time__gte": "2018-08-11T09:11:41.674Z",
        }
    ]
}

url = f"{baseUri}/tasks/errors"
response = requests.get(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{}

errors options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get errors count

Позволяет получить количество ошибок в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

error_time__lt
string <date-time> (time)
Example: error_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра error_time объекта.

error_time__gte
string <date-time> (time)
Example: error_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра error_time объекта.

task_type
integer (task_type)
Enum: 0 1 2 3 4 5 6 7 8 9
Example: task_type=1

Тип задачи.

тип задачи значение
неизвестная 0
задача Linker 1
задача Clustering 2
задача Reporter 3
garbage collection 4
задача Additional Extraction 5
задача Cross-matching 6
задача ROC-curve calculating 7
задача Exporter 8
задача Estimator 9
status_code
integer (status_code) [ 400 .. 599 ]
Example: status_code=500

HTTP код состояния.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time
from uuid import uuid4

baseUri = "http://127.0.0.1:5000/6"

# create bad task
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "description": "matching famous people with customers",
    "content": {
        "markup": [
            {"face_id": str(uuid4()), "label": 1},
            {"face_id": str(uuid4()), "label": 2},
        ],
    },
}
url = f"{baseUri}/tasks/roc"
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

# wait for tasks to complete
time.sleep(5)

# get tasks error id list
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/{taskId}/errors"
response = requests.get(url, headers=headers)
errorIds = [
    str(error["error_id"]) for error in response.json()["errors"]
]

# get error count
headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "errors": [
        {
            "error_id": ",".join(errorIds),
            "task_id": taskId,
            "error_time__gte": "2018-08-11T09:11:41.674Z",
        }
    ]
}

url = f"{baseUri}/tasks/errors/count"
response = requests.get(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "count": 18
}

task errors count options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get error

Позволяет получить ошибку по ее идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
error_id
required
integer >= 1

Идентификатор ошибки.

query Parameters
error_id
integer (errorId)
Example: error_id=10

Идентификатор ошибки.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests
import time
from uuid import uuid4

baseUri = "http://127.0.0.1:5000/6"

# create bad task
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
payload = {
    "description": "matching famous people with customers",
    "content": {
        "markup": [
            {"face_id": str(uuid4()), "label": 1},
            {"face_id": str(uuid4()), "label": 2},
        ],
    },
}
url = f"{baseUri}/tasks/roc"
taskId = requests.post(url, headers=headers, json=payload).json()["task_id"]

# wait for tasks to complete
time.sleep(5)

# get tasks error id list
headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/{taskId}/errors"
response = requests.get(url, headers=headers)
errorId = [
    str(error["error_id"]) for error in response.json()["errors"]
][0]

url = f"{baseUri}/tasks/errors/{errorId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{}

error options

Позволяет получить параметры для ресурса.

path Parameters
error_id
required
integer >= 1

Идентификатор ошибки.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

task schedules

create tasks schedule

Позволяет создать новое расписание задач.

Выполнение запланированных задач будет регулироваться в соответствии с триггером и при необходимости запускает одну задачу немедленно (см. параметр start_immediately в разделе behavior).

Ни одна задача из расписания не будет выполнена, если предыдущая задача еще не была выполнена.

Разрешения для объектов типа "task".

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
required
any (task_schedulable)

Расписание задачи.

required
object (schedule_trigger)

Триггер планировщика задач.

object (schedule_behaviour)

Параметры поведения расписания.

Responses

Request samples

Content type
application/json
{
  • "task": {
    },
  • "trigger": {
    },
  • "behaviour": {
    }
}

Response samples

Content type
application/json
{
  • "schedule_id": 1
}

get tasks schedules

Позволяет получить расписания задач в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

task_type
integer (task_type_schedulable_reply)
Enum: 1 2 3 4 5 6 7 8 9
Example: task_type=1

Тип задачи.

Тип задачи Значение
Linker 1
Clusterization 2
Report 3
Garbage collection 4
Additional extract 5
Cross match 6
Roc-curve calculation 7
Export objects 8
estimator 9
create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
params = {
        "create_time__lt": "2018-08-11T09:11:41.674Z", 
        "create_time_gte": "2050-08-11T09:11:41.674Z",
        "task_type": 1,
}
url = f"{baseUri}/tasks/schedules"
response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
[
  • {
    }
]

schedules options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get tasks schedule

Позволяет получить задачи по их идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
schedule_id
required
integer (schedule_id) >= 1

Расписание, в соответствии с которым была создана задача.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

payload = {
    "task": {
        "task_type": 1,
        "content": {
            "create_list": 1,
            "objects_type": "faces",
            "filters": {
                "create_time__gte": "2018-08-11T09:11:41.674Z"
            },
        },
    },
    "trigger": {"cron": "5 4 * * *", "cron_timezone": "utc"},
    "behaviour": {"start_immediately": False, "create_stopped": False}
    
}

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/schedules"
response = requests.post(url, headers=headers, json=payload)
scheduleId = response.json()["schedule_id"]

url = f"{baseUri}/tasks/schedules/{scheduleId}"
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "schedule_id": 1,
  • "task_ids": [
    ],
  • "account_id": "string",
  • "task": {
    },
  • "trigger": {
    },
  • "status": "running",
  • "next_run_time": "2018-08-11T09:11:41.674Z",
  • "create_time": "2018-08-11T09:11:41.674Z",
  • "last_update_time": "2018-08-11T09:11:41.674Z"
}

replace tasks schedule

Позволяет заменить расписание задач:

  • если выполняется какая-либо задача, созданная по старому расписанию, она будет отменена

  • параметры расписания будут заменены на новые

  • задания будут выполняться в соответствии с новым расписанием

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
schedule_id
required
integer (schedule_id) >= 1

Расписание, в соответствии с которым была создана задача.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
required
any (task_schedulable)

Расписание задачи.

required
object (schedule_trigger)

Триггер планировщика задач.

object (schedule_behaviour)

Параметры поведения расписания.

Responses

Request samples

Content type
application/json
{
  • "task": {
    },
  • "trigger": {
    },
  • "behaviour": {
    }
}

Response samples

Content type
application/json
{
  • "schedule_id": 1
}

patch tasks schedule

Позволяет остановить/запустить расписание задачи.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
schedule_id
required
integer (schedule_id) >= 1

Расписание, в соответствии с которым была создана задача.

query Parameters
action
required
string
Enum: "pause" "start"

Позволяет остановить/запустить расписание задачи.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

# create list
url = f"{baseUri}/lists"
listId = requests.post(url, headers=headers).json()["list_id"]

# create face
url = f"{baseUri}/faces"
faceId = requests.post(url, headers=headers).json()["face_id"]

payload = {
    "task": {
        "task_type": 1,
        "content": {
            "create_list": 0,
            "objects_type": "faces",
            "list_id": listId,
            "filters": {
                "face_ids": [faceId],
            },
        },
    },
    "trigger": {"cron": "5 4 * * *", "cron_timezone": "utc"},
    "behaviour": {"start_immediately": False, "create_stopped": False}

}

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/schedules"
response = requests.post(url, headers=headers, json=payload)
scheduleId = response.json()["schedule_id"]

# Patch schedule
params = {"action": "pause"}
response = requests.patch(url + f"/{scheduleId}", headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{}

delete tasks schedule

Позволяет удалить расписание задач.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
schedule_id
required
integer (schedule_id) >= 1

Расписание, в соответствии с которым была создана задача.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}

# create list
url = f"{baseUri}/lists"
listId = requests.post(url, headers=headers).json()["list_id"]

# create face
url = f"{baseUri}/faces"
faceId = requests.post(url, headers=headers).json()["face_id"]

payload = {
    "task": {
        "task_type": 1,
        "content": {
            "create_list": 0,
            "objects_type": "faces",
            "list_id": listId,
            "filters": {
                "face_ids": [faceId],
            },
        },
    },
    "trigger": {"cron": "5 4 * * *", "cron_timezone": "utc"},
    "behaviour": {"start_immediately": False, "create_stopped": False}

}

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/tasks/schedules"
response = requests.post(url, headers=headers, json=payload)
scheduleId = response.json()["schedule_id"]

# Delete schedule
payload = {"action": "pause"}
response = requests.delete(url + f"/{scheduleId}", headers=headers, json=payload)

print(response.status_code)

Response samples

Content type
application/json
{}

schedule options

Позволяет получить параметры для ресурса.

path Parameters
schedule_id
required
integer (schedule_id) >= 1

Расписание, в соответствии с которым была создана задача.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

verifiers

create verifier

Позволяет создать верификатор.

Верификатор определяет список правил для обработки и верификации входных изображений.

Можно установить:

  • verification_threshold (порог верификации);
  • detect_policy (политику определения);
  • extract_policy (политику извлечения);
  • storage_policy (политику сохранения) для атрибутов и биометрических образцов лица.

Созданный обработчик может использоваться в запросах "raw verification" и "perform verification".

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
description
string <= 128 characters

Пользовательское описание верификатора.

object

Responses

Request samples

Content type
application/json
{
  • "description": "strict verifier",
  • "policies": {
    }
}

Response samples

Content type
application/json
{}

get verifiers

Позволяет получить верификаторы по фильтрам.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

description
string

будут обработаны записи с описаниями схожими с данным.

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/verifiers"

payload = {
    "description": "new verifier",
    "policies": {
        "verification_threshold": 0.5,
        "detect_policy": {
            "estimate_mask": 1
        },
        "extract_policy": {
            "extract_basic_attributes": 1
        },
        "storage_policy": {
            "attribute_policy": {
                "store_attribute": 1
            },
            "face_sample_policy": {
                "store_sample": 1
            }
        }
    }
}

# create verifier
requests.post(url, json=payload, headers=headers)

# get verifiers
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

verifiers options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

raw verification

Позволяет выполнить проверку входящих биометрических шаблонов.

"Similarity" (схожесть) и "verification status" (статус верификации) возвращаются для каждого кандидата.

"Verification status" имеет значение "true", если полученная схожесть больше, чем "verification_threshold" (указывается в обработчике верификатора). Следовательно, эталон и кандидат считаются одним и тем же лицом.

Для данного запроса необходимо указать биометрические шаблоны в качестве эталонов и кандидатов.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Enum: "application/json" "application/msgpack"

Формат данных тела запроса.

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Request Body schema:
required
Array of xpk_file_entity_base64 (object) or sdk_descriptor_entity_base64 (object) or raw_descriptor_entity_base64 (object) non-empty

Список эталонов для верификации.

required
Array of xpk_file_entity_base64 (object) or sdk_descriptor_entity_base64 (object) or raw_descriptor_entity_base64 (object) non-empty

Список кандидатов для верификации.

Responses

Request samples

Content type
{
  • "references": [
    ],
  • "candidates": [
    ]
}

Response samples

Content type
application/json
{
  • "matches": [
    ]
}

raw verification options

Позволяет получить параметры для ресурса.

path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

perform verification

Позволяет проверифицировать данные изображения и/или биометрические шаблоны с указанным набором объектов: face_id, event_id, external_id.

"Similarity" (схожесть) и "verification status" (статус верификации) возвращаются для каждого кандидата.

"Verification status" имеет значение "true", если полученная схожесть больше, чем "verification_threshold" (указывается в обработчике верификатора). Следовательно, эталон и кандидат считаются одним и тем же лицом.

Входные изображения обрабатываются в соответствии с указанными политиками, а полученная информация возвращается в ответе.

Объекты для обработки должны принадлежать аккаунту пользователя, выполняющего запрос.

Примечания к входящим данным:

  • ограничивающие прямоугольники лица или тела, переданные с биометрическим образцом лица или тела, будут проигнорированы.
Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
verifier_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

Идентификатор верификатора.

query Parameters
face_ids
string <list of uuid>
Example: face_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список face_id, разделенных запятыми.

event_ids
string <list of uuid.>
Example: event_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список event_id, разделенных запятыми.

attribute_ids
string <list of uuid>
Example: attribute_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список attribute_id, разделенных запятыми.

external_ids
string
Example: external_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список external_id, разделенных запятыми.

image_type
integer
Default: 0
Enum: 0 1

Тип входящего изображения. 0 - обычное изображение, 1 - нормализованное изображение лица.

use_exif_info
integer
Default: 1
Enum: 0 1
Example: use_exif_info=1

Следует ли автоматически поворачивать изображение на основе данных EXIF.

Обрабатываемое изображение должно иметь EXIF данные, иначе автоматическая ориентация выполняться не будет.

Не влияет на изображения в формате tiff (они всегда автоматически ориентированы).

Не поддерживается с биометрическими образцами (см. параметры warped_image или image_type).

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Enum: "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "multipart/form-data" "application/json" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64" "application/x-sdk-descriptor" "application/x-sdk-descriptor-base64" "application/x-vl-xpk" "application/x-vl-xpk-base64"
Request Body schema:
string <binary>

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "images": [
    ]
}

verification options

Позволяет получить параметры для ресурса.

path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

count verifiers

Позволяет получить количество верификаторов, удовлетворяющих фильтрам.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

description
string

будут обработаны записи с описаниями схожими с данным.

header Parameters
Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/verifiers"

payload = {
    "description": "new verifier",
    "policies": {
        "verification_threshold": 0.5,
        "detect_policy": {
            "estimate_mask": 1
        },
        "extract_policy": {
            "extract_basic_attributes": 1
        },
        "storage_policy": {
            "attribute_policy": {
                "store_attribute": 1
            },
            "face_sample_policy": {
                "store_sample": 1
            }
        }
    }
}

# create verifier
requests.post(url, json=payload, headers=headers)

url = f"{url}/count"

# get verifiers count
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "verifiers_count": 4
}

count verifiers options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get verifier

Позволяет получить верификатор по его verifier_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/verifiers"

payload = {
    "description": "new verifier",
    "policies": {
        "verification_threshold": 0.5,
        "detect_policy": {
            "estimate_mask": 1
        },
        "extract_policy": {
            "extract_basic_attributes": 1
        },
        "storage_policy": {
            "attribute_policy": {
                "store_attribute": 1
            },
            "face_sample_policy": {
                "store_sample": 1
            }
        }
    }
}

# create verifier
response = requests.post(url, json=payload, headers=headers)
verifierId = response.json()["verifier_id"]

url = f"{url}/{verifierId}"

# get verifier
response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "verifier_id": "b668c4a5-2191-476e-a261-3b4f9ce2e25e",
  • "account_id": "0468ca85-f6ca-4841-b30c-5ccc26b6f397",
  • "description": "пример простого верификатора",
  • "policies": {
    },
  • "create_time": "2019-08-24T14:15:22Z",
  • "last_update_time": "2019-08-24T14:15:22Z",
  • "version": 111
}

replace verifier

Позволяет обновить параметры верификатора. Нельзя обновить только часть параметров, нужно указать для него все параметры.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Value: "application/json"

Тип содержимого – application/json.

Request Body schema: application/json
description
string <= 128 characters

Пользовательское описание верификатора.

object

Responses

Request samples

Content type
application/json
{
  • "description": "strict verifier",
  • "policies": {
    }
}

Response samples

Content type
application/json
{
  • "version": 111
}

check if verifier exists

Позволяет проверить существование верификатора по указанному verifier_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/verifiers"

payload = {
    "description": "new verifier",
    "policies": {
        "verification_threshold": 0.5,
        "detect_policy": {
            "estimate_mask": 1
        },
        "extract_policy": {
            "extract_basic_attributes": 1
        },
        "storage_policy": {
            "attribute_policy": {
                "store_attribute": 1
            },
            "face_sample_policy": {
                "store_sample": 1
            }
        }
    }
}

# create verifier
response = requests.post(url, json=payload, headers=headers)
verifierId = response.json()["verifier_id"]

url = f"{url}/{verifierId}"

# check verifier
response = requests.head(url, headers=headers)

print(response.status_code)

remove verifier

Позволяет удалить верификатор по его verifier_id.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {"Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE="}

url = f"{baseUri}/verifiers"

payload = {
    "description": "new verifier",
    "policies": {
        "verification_threshold": 0.5,
        "detect_policy": {
            "estimate_mask": 1
        },
        "extract_policy": {
            "extract_basic_attributes": 1
        },
        "storage_policy": {
            "attribute_policy": {
                "store_attribute": 1
            },
            "face_sample_policy": {
                "store_sample": 1
            }
        }
    }
}

# create verifier
response = requests.post(url, json=payload, headers=headers)
verifierId = response.json()["verifier_id"]

url = f"{url}/{verifierId}"

# delete verifier
response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
{}

verifier options

Позволяет получить параметры для ресурса.

path Parameters
verifier_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

Идентификатор верификатора.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

ws

ws handshake

Ws handshake.

Внимание!

Подписка на события происходит через WebSocket. Сообщения, отправленные через ws, можно просмотреть в разделе обратных вызовов. Соединение поддерживает autoping.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
sources
string
Example: sources=cam1,cam2

Список источников, разделенных запятыми. Каждое событие в результатах запроса будет содержать один из указанных источников.

stream_ids
string <list of uuid.>
Example: stream_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список идентификаторов "stream_id", разделенных запятыми.

matching_candidates_labels
string
Example: matching_candidates_labels=matching_label_1,matching_label_2

Список меток группы результатов сравнения кандидатов, разделенных запятыми. Каждое событие в результатах запроса будет содержать одну или несколько указанных меток.

object_similarity__gte
number
Example: object_similarity__gte=0.5

Нижнее включенное пороговое значение подобия объекта (пороговое значение для лучшего кандидата сравнения).

object_similarity__lt
number
Example: object_similarity__lt=0.5

Верхнее исключенное пороговое значение подобия объекта (пороговое значение для лучшего кандидата сравнения).

age__lt
integer
Example: age__lt=50

Верхнее исключенное пороговое значение для параметра age.

age__gte
integer
Example: age__gte=50

Нижнее включенное пороговое значение для параметра age.

integer or null_filter (string)
Example: gender=1

Пол. "1" - мужской, "0" - женский, "null" - нулевое значение.

ethnic_groups
string <list of integer and null (1, 2, 3, 4, null)>
Example: ethnic_groups=1,2,null

Список преобладающих этнических групп, разделенных запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одну из перечисленных этнических групп.

этническая группа значение
African american 1
Indian 2
Asian 3
Caucasian 4
liveness
string <list of integer and null (0, 1 ,2, null)>
Example: liveness=1,2,null

Список преобладающих состояний Liveness, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одно из перечисленных значений Liveness.

Liveness Значение
spoof 0
real 1
unknown 2
tags
Array of strings (tag) >= 0 items [ items <= 36 characters ]
Example: tags=tag_1,tag_2

Список тегов, разделенных запятыми. Каждое событие в результатах запроса будет содержать все указанные теги. Каждый тег может содержать не более 36 символов.

user_data
string
Example: user_data=user_data_text

Найти все объекты с параметром user_data, значение которого схоже со значением данного фильтра. Можно указать неполное значение user_data для этого фильтра.

object
Example: geo_position=origin_longitude,36.616,origin_latitude,55.752

Geo position filter, i.e. geo bounding box specified by coordinates of its center (origin) and some delta. Each event from result will be covered by bbox specified.

cities
string
Example: cities=Moscow,New York

Список названий городов, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" одно из указанных названий городов.

areas
string
Example: areas=CAD,Manhattan

Список областей, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" одну из указанных областей.

districts
string
Example: districts=Mitino,Midtown

Список районов, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" один из указанных районов.

streets
string
Example: streets=Arbat,West 48th street

Список улиц, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" одну из указанных улиц.

house_numbers
string
Example: house_numbers=1,220

Список номеров домов, разделенных запятыми. Каждое событие в результатах запроса будет содержать в параметре "location" один из указанных номеров домов в параметре "location".

handler_ids
string <list of uuid.>
Example: handler_ids=8950722f-3fd4-4223-b48f-03f95f0e8dfb,346a5645-ec89-4806-820a-dbcb6e0dc381

Список handler_id, разделенных запятыми.

masks
string <list of integer and null (1, 2, 3, null)>
Example: masks=1,2,3,null

Список преобладающих статусов маски, разделенных запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из перечисленных статусов маски.

mask значение
missing 1
medical_mask 2
occluded 3
emotions
string <list of integer and null (1, 2, 3, 4, 5, 6, 7, null)>
Example: emotions=1,2,3,null

Список преобладающих эмоций, разделенных запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одну из заданных эмоций.

Эмоция Значение
anger (злость) 1
disgust (отвращение) 2
fear (страх) 3
happiness (счастье) 4
neutral (нейтральность) 5
sadness (печаль) 6
surprise (удивление) 7
Array of integers or null_filter (string)
Example: apparent_gender=1

Список предполагаемых состояний пола, разделенных запятыми: 0 - женский, 1 - мужской, 2 - неизвестно, "null" - нулевое значение. Каждое событие в результатах запроса будет содержать одно из указанных состояний.

apparent_age__gte
integer [ 0 .. 100 ]
Example: apparent_age__gte=50

Нижнее включенное пороговое значение преполагаемого возраста.

apparent_age__lt
integer [ 0 .. 100 ]
Example: apparent_age__lt=50

Верхнее исключенное пороговое значение преполагаемого возраста.

Array of integers or null_filter (string)
Example: headwear_states=1

Список состояний головного убора, разделенный запятыми: 0 - отсутствует, 1 - присутствует, 2 - неизвестно, "null" - нулевое значение.

Array of headwear_color (string) or null_filter (string)
Example: headwear_apparent_colors=white,undefined,null

Список предполагаемых цветов верхней одежды, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из указанных цветов.

sleeve_lengths
Array of strings
Items Enum: "short" "long" "undefined" null
Example: sleeve_lengths=short,null

Список состояний длины рукавов, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать одно из указанных состояний.

Array of clothing_color (strings) or null_filter (string)
Example: upper_clothing_colors=black,white

Список цветов верхней одежды, разделенный запятыми, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать как минимум одно из указанных цветов.

Array of clothing_color (strings) or null_filter (string)
Example: lower_garment_colors=black,white

Список цветов нижней одежды. Каждое событие в результатах запроса будет содержать один из указанных цветов.

lower_garment_types
Array of strings
Items Enum: "undefined" "trousers" "shorts" "skirt" null
Example: lower_garment_types=trousers,undefined,null

Список типов нижней одежды, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из указанных типов.

Array of shoes_color (string) or null_filter (string)
Example: shoes_apparent_colors=white,undefined,null

Список предполагаемых цветов обуви, или нулевое значение ("null"). Каждое событие в результатах запроса будет содержать один из указанных цветов.

Array of integers or null_filter (string)
header Parameters
Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

from luna3.lunavl.httpclient import LunaHttpClient

EXPECTED_EVENT_COUNT = 1

client = LunaHttpClient(origin='http://127.0.0.1:5000', api=6, login="luna@visionlabs.ru", password="luna")
with client.wsConnect() as ws:
    for _ in range(EXPECTED_EVENT_COUNT):
        WS_RESP = ws.recv()
        print(WS_RESP)

Response samples

Content type
application/json
{
  • "event": {
    },
  • "handler_id": "88c5dd7e-693b-4386-92bc-0c31a150a7d0",
  • "event-create-time": "2021-06-18T02:44:58.653485+03:00",
  • "event-end-time": "2021-06-18T02:44:58.653485+03:00",
  • "Luna-Request-id": "1623984298,375c6d96-09c7-4db3-91cc-f13e66288aa9"
}

ws handshake options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

liveness

predict liveness

Позволяет прогнозировать вероятностную оценку Liveness во входящих изображениях.

Ответ содержит вероятностную оценку того, что на изображении присутствует реальный человек и это не атака на биометрическое предъявление.

Разделы «meta» и «x_meta» запроса используются для обратной совместимости и в настоящее время устарели.

Поступающие изображения должны соответствовать требованиям используемой версии Liveness. Подробности см. в "Руководстве администратора".

Оценка Liveness не поддерживается для биометрических образцов.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
aggregate
integer
Default: 0
Enum: 1 0
Example: aggregate=1

Следует ли агрегировать оценки Liveness.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Content-Type
string
Enum: "image/jpeg" "image/png" "image/bmp" "image/x-portable-pixmap" "image/tiff" "multipart/form-data" "application/json" "image/x-jpeg-base64" "image/x-png-base64" "image/x-bmp-base64" "image/x-tiff-base64" "image/x-portable-pixmap-base64"
Request Body schema:
object (LivenessMeta)
Deprecated

Информация об устройстве. Эта информация может значительно снизить общую частоту ошибок.

"meta" объект не является обязательным. Если нет уверенности в каком-либо из параметров, нужно установить значение "UNKNOWN" или не передавать метаданные.

Указанные метаданные применяются ко всем изображениям в запросе.

x_meta
object
Deprecated

Строка JSON с любой дополнительной информацией.

required
Array of image_binary_for_multipart (string) or image_base64_for_multipart (string) (image_list_for_multipart) non-empty

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{}

liveness options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

documents

get openapi documentation

Позволяет получить документацию OpenAPI. Если заголовок Accept имеет тип application/x-yaml, возвращается документация в формате yaml. Если заголовок Accept имеет значение text/html, возвращается документация в формате html.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Accept
required
string (accept_docs_handler)
Enum: "application/x-yaml" "text/html"

Приемлемый тип получения данных.

Responses

Response samples

Content type
application/json
{}

get openapi documentation options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get development manual

Позволяет получить sphinx документацию – Руководство разработчика. После запроса пользователь будет перенаправлен на страницу /docs/dev/index.html

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get development documentation options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

config

get service configuration

Позволяет получить настройки сервиса. Пароли и токены будут скрыты в теле ответа.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Accept
string
Enum: "application/json" "text/plain"

Приемлемый тип получения данных.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
    "Authorization": "Basic bHVuYUB2aXNpb25sYWJzLnJ1Omx1bmE=",
}
url = f"{baseUri}/config"

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
{
  • "INFLUX_MONITORING": {
    }
}

get config options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

features

get platform features

Позволяет получить информацию о лицензируемых функциях:

  • актуальность лицензии (license)
  • включенные оценки (estimations)
  • включенные сервисы (components)
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
"Luna-Request-Id": "1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a",
}
url = f"{baseUri}/features"

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "license": true,
  • "estimations": {
    },
  • "components": {
    }
}

features options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

lambda [beta]

create lambda

Позволяет создать новую lambda.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
required
string
Value: "multipart/form-data"

Заголовок типа содержимого запроса.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: multipart/form-data
archive
required
string <binary>

Архив с расширением ZIP. Тип содержимого должен быть "application/zip".

required
object

Учетные данные lambda. Тип содержимого должен быть "application/json".

object

Параметры lambda. Тип содержимого должен быть "application/json".

Responses

Request samples

# This example is written using requests library
from time import sleep
import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}
lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps(
                {"lambda_name": lambdaName, "description": "test description"}
            ), "application/json"),
        "parameters": (
            "parameters",
            json.dumps(
                {"lambda_type": "standalone"}
            ), "application/json"),
    }

response = requests.post(url, headers=headers, files=files)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "lambda_id": "string"
}

get lambdas

Позволяет получить lambda в соответствии с фильтрами.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
query Parameters
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-Account-Id".

create_time__lt
string <date-time> (time)
Example: create_time__lt=2018-08-11T09:11:41.674Z

Верхнее пороговое значение для параметра create_time объекта.

create_time__gte
string <date-time> (time)
Example: create_time__gte=2018-08-11T09:11:41.674Z

Нижнее включенное пороговое значение для параметра create_time объекта.

page
integer >= 1
Default: 1

Номер страницы.

page_size
integer [ 1 .. 1000 ]
Default: 10

Количество элементов на странице.

lambda_type
string
Enum: "standalone" "handlers"

Тип lambda.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

from datetime import datetime, timedelta
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}
accountId = "00000000-0000-4000-a000-000000000156"
lambdaId = str(uuid4())
lambdaName = str(uuid4())
timeDelta = timedelta(days=1)
params = {
    "account_id": accountId,
    "create_time__lt": datetime.utcnow().isoformat("T") + "Z",
    "create_time__gte": (datetime.utcnow() - timeDelta).isoformat("T") + "Z",
    "page": 1,
    "page_size": 100,
    "lambda_type": "standalone"
}
url = f"{baseUri}/lambdas/"

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "lambdas": [
    ]
}

validation lambda

Позволяет выполнить валидацию lambda.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
required
string
Value: "multipart/form-data"

Заголовок типа содержимого запроса.

Request Body schema: application/zip
archive
required
string <binary>

Архив с расширением ZIP. Тип содержимого должен быть "application/zip".

required
object

Параметры lambda.

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}
url = f"{baseUri}/lambdas/validator"

with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "parameters": (
            "parameters",
            json.dumps({"lambda_type": "standalone"}),
            "application/json",
        )
    }

response = requests.post(url, headers=headers, files=files)

print(response.status_code)

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

put lambda

Позволяет заменить lambda. Нельзя заменить часть lambda, нужно задать все поля для lambda.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
required
string
Value: "multipart/form-data"

Заголовок типа содержимого запроса.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: multipart/form-data
archive
required
string <binary>

Архив с расширением ZIP. Тип содержимого должен быть "application/zip".

required
object

Учетные данные lambda. Тип содержимого должен быть "application/json".

object

Параметры lambda. Тип содержимого должен быть "application/json".

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps(
                {"lambda_name": str(uuid4()), "description": "new lambda description"}
            ), "application/json"),
        "parameters": (
            "parameters",
            json.dumps(
                {"lambda_type": "standalone"}
            ), "application/json"),
    }
response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Put lambda

files.update(
    {
      "credentials": (
            "credentials",
            json.dumps(
                {"lambda_name": str(uuid4()), "description": "new lambda description"}
            ), "application/json") 
    }
)
response = requests.put(url + lambdaId, headers=headers, files=files)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "version": 0
}

patch lambda

Позволяет обновить lambda.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Content-Type
string
Value: "application/json"

Заголовок типа содержимого запроса.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Request Body schema: application/json
non-empty
lambda_name
string (lambda_name)

Имя lambda. Можно создавать lambda только с уникальными именами.

description
string <= 256 characters

Описание Lambda.

Responses

Request samples

Content type
application/json
{
  • "lambda_name": "first-lambda",
  • "description": "very useful lambda"
}

Response samples

Content type
application/json
Example
{}

get lambda

Получить lambda по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import json

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}
lambdaId = "64e61920-f5ca-4caf-8f2e-d0217e2e6c0f"
url = f"{baseUri}/lambdas/{lambdaId}"
params = {
    "account_id": "00000000-0000-4000-a000-000000000156",
}

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "account_id": "string",
  • "lambda_id": "string",
  • "lambda_name": "first-lambda",
  • "description": "very useful lambda",
  • "version": 1,
  • "info": {
    },
  • "lambda_type": "standalone",
  • "create_time": "2019-08-24T14:15:22Z",
  • "last_update_time": "2018-08-11T09:11:41.674Z",
  • "additional_user_docker_commands": [ ],
  • "base_image": {
    }
}

check lambda existence

Позволяет проверить существование lambda по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}
lambdaId = "64e61920-f5ca-4caf-8f2e-d0217e2e6c0f"
url = f"{baseUri}/lambdas/{lambdaId}"

response = requests.head(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
{}

delete lambda

Позволяет далить lambda по идентификатору.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import requests
import json
from uuid import uuid4


baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps(
                {"lambda_name": lambdaName, "description": "lambda description"}
            ), "application/json"),
        "parameters": (
            "parameters",
            json.dumps(
                {"lambda_type": "standalone"}
            ), "application/json"),
    }
response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Delete lambda

url = f"{baseUri}/lambdas/{lambdaId}"

response = requests.delete(url, headers=headers)

print(response.status_code)

Response samples

Content type
application/json
{}

update lambda

Позволяет обновить lambda в соответствии с последним базовым образом.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор плагина.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps(
                {"lambda_name": lambdaName, "description": "lambda description"}
            ), "application/json"),
        "parameters": (
            "parameters",
            json.dumps(
                {"lambda_type": "standalone"}
            ), "application/json"),
    }
response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Update lambda

url = f"{baseUri}/lambdas/{lambdaId}/update"
response = requests.post(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "version": 0
}

get lambda image creation status

Позволяет получить статус создания образа lambda по идентификатору.

Если статус создания образа в процессе, то статус lambda будет waiting.

После завершения создания образа lambda задание на создание образа будет удалено, а статус будет not_found.

См. дополнительную информацию о lambda и статусах образов в руководстве разработчика.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps({"lambda_name": lambdaName, "description": "lambda description"}),
            "application/json",
        ),
        "parameters": ("parameters", json.dumps({"lambda_type": "standalone"}), "application/json"),
    }

response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Get lambda image creation status

url = f"{baseUri}/lambdas/{lambdaId}/image/status"

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "status": "not_found"
}

get lambda image creation logs

Позволяет получить логи создания образов lambda по идентификатору.

Во время создания образа lambda можно получать логи для отслеживания прогресса.

См. дополнительную информацию о lambda и логах образов в руководстве разработчика.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

query Parameters
tail_lines
integer [ 0 .. 4294967296 ]

Количество строк, которые будут возвращены.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps({"lambda_name": lambdaName, "description": "lambda description"}),
            "application/json",
        ),
        "parameters": ("parameters", json.dumps({"lambda_type": "standalone"}), "application/json"),
    }

response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Get lambda image creation logs

url = f"{baseUri}/lambdas/{lambdaId}/image/logs"
params = {"tail_lines": 1}

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "logs": [
    ]
}

get lambda status

Позволяет получить статус lambda по идентификатору.

Если статус создания образа в процессе, то статус lambda будет waiting.

См. дополнительную информацию о lambda и статусах образов в руководстве разработчика.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps({"lambda_name": lambdaName, "description": "lambda description"}),
            "application/json",
        ),
        "parameters": ("parameters", json.dumps({"lambda_type": "standalone"}), "application/json"),
    }

response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Get lambda image creation status

url = f"{baseUri}/lambdas/{lambdaId}/status"

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "status": "running"
}

get lambda logs

Позволяет получить логи lambda по идентификатору.

После того, как создание lambda было выполнено, доступна возможность получить логи lambda.

См. дополнительную информацию о lambda и логах образов в руководстве разработчика.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

query Parameters
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-Account-Id".

tail_lines
integer [ 0 .. 4294967296 ]

Количество строк, которые будут возвращены.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps({"lambda_name": lambdaName, "description": "lambda description"}),
            "application/json",
        ),
        "parameters": ("parameters", json.dumps({"lambda_type": "standalone"}), "application/json"),
    }

response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Get lambda image creation logs

url = f"{baseUri}/lambdas/{lambdaId}/logs"
params = {"tail_lines": 1}

response = requests.get(url, headers=headers, params=params)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "logs": [
    ]
}

lambda proxy [beta]

get lambda openapi documentation

Позволяет получить документацию OpenAPI для lambda. Если заголовок запроса Accept имеет тип application/x-yaml, то будет возвращена документация в формате yaml. Если заголовок запроса имеет тип text/html, то будет возвращена документация в формате html.

path Parameters
lambda_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

Идентификатор lambda.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Accept
required
string (accept_docs_handler)
Enum: "application/x-yaml" "text/html"

Приемлемый тип получения данных.

Responses

Response samples

Content type
application/json
{}

proxy post request to lambda

Позволяет выполнить прокси-запрос к lambda.

Заголовки запроса и ответа, параметры запроса и описание тела запроса должны быть предоставлены в документации lambda.

Описанные заголовки будут обрабатываться и приниматься независимо от поведения lambda. В случае Bearer-авторизации токен должен включать разрешения на просмотр, чтобы lambda могли обрабатывать запрос.

Authorizations:
BasicAuthBearerAuthLunaAccountIdAuth
path Parameters
lambda_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

Идентификатор lambda.

* (any_parameter)
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Любой дополнительный параметр пути будет использоваться в качестве параметра пути к lambda.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Luna-Account-Id
string <uuid> ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Deprecated
Example: 8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Идентификатор аккаунта.

Аккаунт накладывает ограничения на все действия пользователя (сравнение, удаление, обновление и другие) с данными, которым не соответствует Luna-Account-Id. Например: невозможно прикрепить лицо с одним Luna-Account-Id к списку с другим Luna-Account-Id.

Пользователь может выполнять ограниченный набор запросов без этого заголовка (запросы с методами GET, HEAD, OPTIONS, запросы на сравнение и запросы на получение статистики событий).

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda
def wait4start(lambdaId: str) -> None:
    """
    Wait for lambda start

    Args:
        lambdaId: lambda id
    """
    for _ in range(150):
        reply = requests.get(f"{baseUri}/lambdas/{lambdaId}/status", headers=headers).json()
        if reply["status"] == "running":
            break
        if reply["status"] == "terminated":
            raise Exception(f"Expected successfully lambda running. Lambda id: {lambdaId}")
        sleep(1)
    else:
        raise Exception(f"Lambda execution took more than 150 seconds. Lambda id: {lambdaId}")

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps({"lambda_name": lambdaName, "description": "lambda description"}),
            "application/json",
        ),
        "parameters": ("parameters", json.dumps({"lambda_type": "standalone"}), "application/json"),
    }

response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Post proxy request to lambda
path = "main"
url = f"{baseUri}/lambdas/{lambdaId}/proxy/{path}"

response = requests.post(url, headers=headers)

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
Example
{}

proxy options request to lambda

Позволяет выполнить прокси-запрос OPTIONS к lambda.

Ответ содержит все возможные методы, которые можно проксировать в lambda, но не содержит информации, какие из них реализованы, а какие нет.

path Parameters
lambda_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

Идентификатор lambda.

* (any_parameter)
string <uuid> (uuid) ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]...
Example: 557d54ec-29ad-4f3c-93b4-c9092ef12515

Любой дополнительный параметр пути будет использоваться в качестве параметра пути к lambda.

query Parameters
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-Account-Id".

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library
from time import sleep

import json
from uuid import uuid4

import requests

baseUri = "http://127.0.0.1:5000/6"

headers = {
    "Authorization": "Basic bHVuYV9sYW1iZGFAdmlzaW9ubGFicy5ydTpsdW5h",
}

# Create lambda

lambdaName = str(uuid4())
url = f"{baseUri}/lambdas/"
with open("lambda.zip", "rb") as archive:
    files = {
        "archive": ("lambda.zip", archive.read(), "application/zip"),
        "credentials": (
            "credentials",
            json.dumps({"lambda_name": lambdaName, "description": "lambda description"}),
            "application/json",
        ),
        "parameters": ("parameters", json.dumps({"lambda_type": "standalone"}), "application/json"),
    }

response = requests.post(url, headers=headers, files=files)
lambdaId = response.json()["lambda_id"]
wait4start(lambdaId)

# Put proxy request to lambda
path = "main"
url = f"{baseUri}/lambdas/{lambdaId}/proxy/{path}"

response = requests.options(url, headers=headers)

print(response.status_code)
print(response.headers)

Response samples

Content type
application/json
Example
{}

health

get health

Позволяет получить информацию о работоспособности сервиса.

query Parameters
include_luna_services
integer
Default: 0
Enum: 0 1

Следует ли выполнять healthcheck для зависимых сервисов LUNA.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library

import requests

baseUri = "http://127.0.0.1:5000/6"

# make request
url = f"{baseUri}/healthcheck"
response = requests.get(url, params={"include_luna_services": 1})

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "execution_time": 0.123
}

healthcheck options

Позволяет получить параметры для ресурса.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}

get health (redirect)

Позволяет получить информацию о работоспособности сервиса (redirect).

query Parameters
include_luna_services
integer
Default: 0
Enum: 0 1

Следует ли выполнять healthcheck для зависимых сервисов LUNA.

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Request samples

# This example is written using requests library

import requests

# make request
url = f"http://127.0.0.1:5000/healthcheck"
response = requests.get(url, params={"include_luna_services": 1})

print(response.status_code)
print(response.json())

Response samples

Content type
application/json
{
  • "execution_time": 0.123
}

healthcheck options (redirect)

Получить параметры ресурса (redirect).

header Parameters
Luna-Request-Id
string^[0-9]{10},[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4...
Example: 1536751345,8b8b5937-2e9c-4e8b-a7a7-5caf86621b5a

Внешний идентификатор запроса. Помогает идентифицировать сообщения в системных логах, соответствующие конкретным запросам. Если параметр не задан, то система установит для него формат по умолчанию ("timestamp, UUID") и вернет его в ответе.

Responses

Response samples

Content type
application/json
{}