openapi: 3.0.3
info:
title: 'Odinn ML'
description: ''
version: 1.0.0
servers:
-
url: 'https://ml.stage.odinn.cloud'
paths:
/api/ml-results:
get:
summary: Список
operationId: ''
description: "Получить список экспортов результатов применения ML (с пагинацией)\n\nСтандартный листинг Одинна с возможностью фильтрации"
parameters:
-
in: query
name: page
description: 'Номер страницы.'
example: 1
required: false
schema:
type: integer
description: 'Номер страницы.'
example: 1
-
in: query
name: page-size
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
required: false
schema:
type: integer
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
responses:
500:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Server Error'
properties:
message:
type: string
example: 'Server Error'
tags:
- 'ML Results'
security: []
/api/ml-results/ml-data:
get:
summary: 'Получение результатов по применению ML через API'
operationId: MLAPI
description: ''
parameters: []
responses:
500:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Server Error'
properties:
message:
type: string
example: 'Server Error'
tags:
- 'ML Results'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'Значение поля value должно быть корректным UUID.'
example:
- 987d869f-4444-3341-9534-184d045b08ea
items:
type: string
required:
- ids
security: []
/api/ml-results/export:
post:
summary: 'Экспорт результатов по применению ML в виде файла'
operationId: ML
description: "Начинает выгрузку результатов по применению ML в виде файла.\nМетод только начинает выгрузку, скачать файл можно будет по завершении (статус completed)\n\n"
parameters: []
responses: { }
tags:
- 'ML Results'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'Значение поля value должно быть корректным UUID.'
example:
- be7e97ef-cf64-3600-a180-b6561b8a7de0
items:
type: string
with_photo:
type: boolean
description: ''
example: true
required:
- ids
security: []
'/api/ml-results/{id}':
get:
summary: 'Получить информацию об экспорте'
operationId: ''
description: ''
parameters: []
responses:
500:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Server Error'
properties:
message:
type: string
example: 'Server Error'
tags:
- 'ML Results'
security: []
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 89215061-a8da-3d29-bc69-1ade0efe9b48
required: true
schema:
type: uuid
'/api/ml-results/{id}/download':
get:
summary: 'Скачать файл экспорта результатов по применению ML'
operationId: ML
description: ''
parameters: []
responses:
500:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Server Error'
properties:
message:
type: string
example: 'Server Error'
tags:
- 'ML Results'
security: []
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 7f1990df-9287-3df8-aa12-fe8d2a73ae46
required: true
schema:
type: uuid
/api/ai-model:
get:
summary: Список
operationId: ''
description: "Получить список моделей (с пагинацией)\nСтандартный листинг Одинна с возможностью фильтрации"
parameters:
-
in: query
name: page
description: 'Номер страницы.'
example: 1
required: false
schema:
type: integer
description: 'Номер страницы.'
example: 1
-
in: query
name: page-size
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
required: false
schema:
type: integer
description: 'Количество элементов, возвращаемых на странице. По умолчанию 50.'
example: 50
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
current_page: 1
data:
-
id: a060b47f-c4fc-4267-82f9-b94a5f45553f
name: Multimodal
notes: null
file_id: a060b47f-a9aa-44c3-800f-4f0331d6c11f
classes:
- Deconstruct_filter
- Construct_filter
- Pen
- Pencil
- Work_with_computer
- STAND_part_one_screw
- STAND_tight_second_screw
created_at: '2025-11-17T09:34:15.000000Z'
updated_at: '2025-11-17T09:34:15.000000Z'
deleted_at: null
file:
id: a060b47f-a9aa-44c3-800f-4f0331d6c11f
name: best_float32_metadata.tflite
title: null
path: /models/xf1Kgg1NtbghgLIoZYKGAOMFAWosUDZDbqkg8Sdx.tflite
mime: application/octet-stream
size: 12291067
last_accessed_at: '2025-11-17T09:34:15.000000Z'
created_at: '2025-11-17T09:34:15.000000Z'
updated_at: '2025-11-17T09:34:15.000000Z'
deleted_at: null
-
id: 9fd585b7-ab3e-40d8-872c-8480c8438297
name: Best_Float32
notes: null
file_id: 9fd585b7-9adf-4a8b-aa8a-262d80214e33
classes:
- Construct_filter
- Log_filling
- Work_with_computer
created_at: '2025-09-09T05:03:22.000000Z'
updated_at: '2025-09-09T05:03:22.000000Z'
deleted_at: null
file:
id: 9fd585b7-9adf-4a8b-aa8a-262d80214e33
name: best_float32_metadata.tflite
title: null
path: /models/bMoKJs1gBQrkzaui6ite4MVErUKzyybVhieHeAfd.tflite
mime: application/octet-stream
size: 12291067
last_accessed_at: '2025-09-09T05:03:22.000000Z'
created_at: '2025-09-09T05:03:22.000000Z'
updated_at: '2025-09-09T05:03:22.000000Z'
deleted_at: null
first_page_url: 'https://ml.stage.odinn.cloud/api/ai-model?page=1'
from: 1
last_page: 1
last_page_url: 'https://ml.stage.odinn.cloud/api/ai-model?page=1'
links:
-
url: null
label: '« Назад'
active: false
-
url: 'https://ml.stage.odinn.cloud/api/ai-model?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
next_page_url: null
path: 'https://ml.stage.odinn.cloud/api/ai-model'
per_page: 50
prev_page_url: null
to: 2
total: 2
properties:
current_page:
type: integer
example: 1
data:
type: array
example:
-
id: a060b47f-c4fc-4267-82f9-b94a5f45553f
name: Multimodal
notes: null
file_id: a060b47f-a9aa-44c3-800f-4f0331d6c11f
classes:
- Deconstruct_filter
- Construct_filter
- Pen
- Pencil
- Work_with_computer
- STAND_part_one_screw
- STAND_tight_second_screw
created_at: '2025-11-17T09:34:15.000000Z'
updated_at: '2025-11-17T09:34:15.000000Z'
deleted_at: null
file:
id: a060b47f-a9aa-44c3-800f-4f0331d6c11f
name: best_float32_metadata.tflite
title: null
path: /models/xf1Kgg1NtbghgLIoZYKGAOMFAWosUDZDbqkg8Sdx.tflite
mime: application/octet-stream
size: 12291067
last_accessed_at: '2025-11-17T09:34:15.000000Z'
created_at: '2025-11-17T09:34:15.000000Z'
updated_at: '2025-11-17T09:34:15.000000Z'
deleted_at: null
-
id: 9fd585b7-ab3e-40d8-872c-8480c8438297
name: Best_Float32
notes: null
file_id: 9fd585b7-9adf-4a8b-aa8a-262d80214e33
classes:
- Construct_filter
- Log_filling
- Work_with_computer
created_at: '2025-09-09T05:03:22.000000Z'
updated_at: '2025-09-09T05:03:22.000000Z'
deleted_at: null
file:
id: 9fd585b7-9adf-4a8b-aa8a-262d80214e33
name: best_float32_metadata.tflite
title: null
path: /models/bMoKJs1gBQrkzaui6ite4MVErUKzyybVhieHeAfd.tflite
mime: application/octet-stream
size: 12291067
last_accessed_at: '2025-09-09T05:03:22.000000Z'
created_at: '2025-09-09T05:03:22.000000Z'
updated_at: '2025-09-09T05:03:22.000000Z'
deleted_at: null
items:
type: object
properties:
id:
type: string
example: a060b47f-c4fc-4267-82f9-b94a5f45553f
name:
type: string
example: Multimodal
notes:
type: string
example: null
file_id:
type: string
example: a060b47f-a9aa-44c3-800f-4f0331d6c11f
classes:
type: array
example:
- Deconstruct_filter
- Construct_filter
- Pen
- Pencil
- Work_with_computer
- STAND_part_one_screw
- STAND_tight_second_screw
items:
type: string
created_at:
type: string
example: '2025-11-17T09:34:15.000000Z'
updated_at:
type: string
example: '2025-11-17T09:34:15.000000Z'
deleted_at:
type: string
example: null
file:
type: object
properties:
id:
type: string
example: a060b47f-a9aa-44c3-800f-4f0331d6c11f
name:
type: string
example: best_float32_metadata.tflite
title:
type: string
example: null
path:
type: string
example: /models/xf1Kgg1NtbghgLIoZYKGAOMFAWosUDZDbqkg8Sdx.tflite
mime:
type: string
example: application/octet-stream
size:
type: integer
example: 12291067
last_accessed_at:
type: string
example: '2025-11-17T09:34:15.000000Z'
created_at:
type: string
example: '2025-11-17T09:34:15.000000Z'
updated_at:
type: string
example: '2025-11-17T09:34:15.000000Z'
deleted_at:
type: string
example: null
first_page_url:
type: string
example: 'https://ml.stage.odinn.cloud/api/ai-model?page=1'
from:
type: integer
example: 1
last_page:
type: integer
example: 1
last_page_url:
type: string
example: 'https://ml.stage.odinn.cloud/api/ai-model?page=1'
links:
type: array
example:
-
url: null
label: '« Назад'
active: false
-
url: 'https://ml.stage.odinn.cloud/api/ai-model?page=1'
label: '1'
active: true
-
url: null
label: 'Вперёд »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Назад'
active:
type: boolean
example: false
next_page_url:
type: string
example: null
path:
type: string
example: 'https://ml.stage.odinn.cloud/api/ai-model'
per_page:
type: integer
example: 50
prev_page_url:
type: string
example: null
to:
type: integer
example: 2
total:
type: integer
example: 2
tags:
- Модели
security: []
post:
summary: Создать
operationId: ''
description: ''
parameters: []
responses: { }
tags:
- Модели
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
name:
type: string
description: Имя
example: est
notes:
type: string
description: Заметки
example: consequatur
classes:
type: array
description: 'Классы которые модель может обрабатывать'
example:
- debitis
items:
type: string
file:
type: string
format: binary
description: 'Файл модели'
required:
- name
- file
security: []
'/api/ai-model/{id}':
get:
summary: 'Получить информацию о модели'
operationId: ''
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'AI Model #2fb568c0-a6cc-3a47-86f1-afe264de212b Not found'
properties:
message:
type: string
example: 'AI Model #2fb568c0-a6cc-3a47-86f1-afe264de212b Not found'
tags:
- Модели
security: []
put:
summary: 'Обновить информацию о модели'
operationId: ''
description: ''
parameters: []
responses: { }
tags:
- Модели
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
name:
type: string
description: Имя
example: ullam
notes:
type: string
description: Заметки
example: fugit
classes:
type: array
description: 'Классы которые модель может обрабатывать'
example:
- suscipit
items:
type: string
file:
type: string
format: binary
description: 'Файл модели'
security: []
delete:
summary: 'Удалить модель'
operationId: ''
description: ''
parameters: []
responses: { }
tags:
- Модели
security: []
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: 2fb568c0-a6cc-3a47-86f1-afe264de212b
required: true
schema:
type: uuid
'/api/ai-model/{id}/download':
get:
summary: 'Скачать файл модели'
operationId: ''
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: ''
properties:
message:
type: string
example: ''
tags:
- Модели
security: []
parameters:
-
in: path
name: id
description: 'Идентификатор (UUID)'
example: d0c9af86-67db-3294-9e21-493cb7e29c38
required: true
schema:
type: uuid
tags:
-
name: 'ML Results'
description: ''
-
name: Модели
description: ''