openapi: 3.1.2
info:
title: VRt.Account [AC]
version: 7.41.3481
license:
name: Proprietary
url: https://veeroute.cloud/
termsOfService: https://veeroute.cloud/resources/terms_of_service
contact:
name: Veeroute Support Team
email: support@veeroute.com
x-logo:
url: ../images/account/account.svg
backgroundColor: '#FAFAFA'
altText: VRt.Account
description: '# Описание
Программный интерфейс для управления учетной записью Veeroute.
## Метрики использования
По каждому клиенту вычисляются метрики использования сервиса для каждого типа
процесса, которые можно получить в личном кабинете или с помощью [api метода](#operation/generate_statistics).
Метрики описываются следующим объектом:
## Диаграмма сущностей

'
servers:
- url: https://api.edge7.veeroute.cloud
description: Окружение для интеграции и ознакомления с новой функциональностью
- url: https://api.prod7.veeroute.cloud
description: Основное окружение
security:
- ApiKeyAuth: []
tags:
- name: Auth
description: 'Авторизация.
'
- name: Info
description: 'Информация об аккаунте.
'
- name: Quota
description: 'Квотирование.
'
- name: Audit
description: 'Пользовательские действия.
'
- name: Data
description: 'Пользовательские данные.
'
- name: Statistics
description: 'Статистика.
'
- name: System
description: 'Системные функции.
Вспомогательный функционал, общий для всех сервисов.
'
externalDocs:
description: Сайт компании Veeroute
url: https://veeroute.cloud/
paths:
/account/token/generation:
post:
tags:
- Auth
summary: Получение токена
description: Получение токена по паре логин - пароль.
operationId: run_token_generation
x-process-type: NOTRACE
security: []
requestBody:
description: Запрос на получение токена.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/token_request'
responses:
'200':
description: Токен успешно создан
content:
application/json:
schema:
$ref: '#/components/schemas/token'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/token/validation:
post:
tags:
- Auth
summary: Проверка токена
description: Проверка токена.
operationId: run_token_validation
x-process-type: NOTRACE
security: []
requestBody:
description: Запрос на проверку токена.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/token'
responses:
'200':
description: Проверка данных успешно завершена
content:
application/json:
schema:
$ref: '#/components/schemas/token_validation_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/password:
post:
tags:
- Auth
summary: Смена пароля
description: Смена пароля на новый и получение нового токена.
operationId: change_password
x-process-type: TRACE
requestBody:
description: Данные для смены пароля.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/password_change_request'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/token'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/info:
get:
tags:
- Info
summary: Информация об аккаунте
description: Получение информации об аккаунте.
operationId: read_info
x-process-type: NOTRACE
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/user'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
put:
tags:
- Info
summary: Обновление информации об аккаунте
description: Обновление информации о аккаунте.
operationId: update_info
x-process-type: TRACE
requestBody:
description: Запрос на обновление информации о аккаунте.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/info_change_request'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/user'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/quota:
get:
tags:
- Quota
summary: Чтение списка квот
description: Чтение списка квот по пользователю.
operationId: read_quota
x-process-type: NOTRACE
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/quotas_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/audit:
get:
tags:
- Audit
summary: Действия за период
description: 'Действия пользователей за период. Если период не указывается -
возвращаются данные за текущий день - с начала дня по текущее время включительно.
Если не указано начало временного отрезка - возвращаются данные с начала текущего
дня. Если не указан конец временного отрезка - возвращаются данные до текущего
времени.
'
operationId: read_audit
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/datetime_from'
- $ref: '#/components/parameters/datetime_to'
- $ref: '#/components/parameters/service'
- $ref: '#/components/parameters/operation'
- $ref: '#/components/parameters/process_type'
- $ref: '#/components/parameters/status'
- $ref: '#/components/parameters/sort_field'
- $ref: '#/components/parameters/sort_direction'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/account_audit_result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/data/{process_code}:
get:
tags:
- Data
summary: Чтение данных
description: Получение данных по `tracedata.process_code`.
operationId: read_data
x-process-type: NOTRACE
parameters:
- $ref: '#/components/parameters/process_code'
- $ref: '#/components/parameters/data_flow_type'
- $ref: '#/components/parameters/data_flow_stage'
responses:
'200':
description: Успешное выполнение
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_binary'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/statistics:
get:
tags:
- Statistics
summary: Статистика за период
description: 'Статистика за период. Если период не указывается - возвращается
статистика за текущий месяц - с начала месяца по текущий день (не включая
его). Если дата `с` не указана - берется начало текущего месяца. Если дата
`по` не указана - берется вчерашний день (не включая его). Пустые поля сервиса
и типа процесса означают возвращать статистику по всем сервисами и типам процесса.
'
operationId: generate_statistics
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/date_from'
- $ref: '#/components/parameters/date_to'
- $ref: '#/components/parameters/service'
- $ref: '#/components/parameters/process_type'
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/user_statistics'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/report:
get:
tags:
- Statistics
summary: Создание отчета
description: 'Создание отчета со статистикой по использованию. Если дата не
указана - возвращается статистика за текущий месяц - с начала месяца по текущий
день (не включая его). Если дата `с` не указана - берется начало текущего
месяца. Если дата `по` не указана - берется текущий день (не включая его).
Пустые поля сервиса и типа процесса означают возвращать статистику по всем
сервисами и типам процесса.
'
operationId: generate_report
x-process-type: TRACE
parameters:
- $ref: '#/components/parameters/date_from'
- $ref: '#/components/parameters/date_to'
- $ref: '#/components/parameters/service'
- $ref: '#/components/parameters/process_type'
responses:
'200':
description: Отчет успешно создан
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/file_xlsx'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'402':
$ref: '#/components/responses/402'
'403':
$ref: '#/components/responses/403'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/system/check:
get:
tags:
- System
summary: Проверка доступности
description: Проверка доступности сервиса.
operationId: check
x-process-type: NOTRACE
security: []
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/check_result'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/system/version:
get:
tags:
- System
summary: Получение версии сервиса
description: Получение версии сервиса.
operationId: version
x-process-type: NOTRACE
security: []
responses:
'200':
description: Успешное выполнение
content:
application/json:
schema:
$ref: '#/components/schemas/version_result'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
/account/file/{filename}:
get:
tags:
- System
summary: Получение документации
description: Получение файла с документацией на этот сервис.
operationId: file
x-process-type: NOTRACE
security: []
parameters:
- $ref: '#/components/parameters/filename'
responses:
'200':
description: Успешное выполнение
content:
text/html:
schema:
$ref: '#/components/schemas/file_html'
text/plain:
schema:
$ref: '#/components/schemas/file_json'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'415':
$ref: '#/components/responses/415'
'429':
$ref: '#/components/responses/429'
'431':
$ref: '#/components/responses/431'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
'504':
$ref: '#/components/responses/504'
default:
$ref: '#/components/responses/503'
components:
securitySchemes:
ApiKeyAuth:
description: "Для [аутентификации](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)\
\ клиента \nиспользуется [JWT токен](https://ru.wikipedia.org/wiki/JSON_Web_Token),\
\ \nкоторый необходимо указывать в заголовке для каждого запроса в формате:\n\
\n`Authorization: Bearer `.\n\nУникальный токен для пользовательского\
\ аккаунта необходимо получить с помощью VRt.Account API.\n"
type: http
scheme: bearer
bearerFormat: JWT
schemas:
user_username:
description: Уникальное имя пользователя для авторизации.
type: string
pattern: \w+
minLength: 2
maxLength: 256
example: username_for_login
user_password:
description: Пароль.
type:
- string
- 'null'
default: null
format: password
minLength: 10
maxLength: 256
writeOnly: true
example: long_strong_password
token_request:
description: Данные для получения токена.
type: object
additionalProperties: false
properties:
username:
$ref: '#/components/schemas/user_username'
password:
$ref: '#/components/schemas/user_password'
ttl_seconds:
description: Время действия токена, в секундах.
type: integer
format: int32
minimum: 60
maximum: 31556926
default: 86400
example: 86400
required:
- username
- password
token:
description: Токен (JWT).
type: string
minLength: 10
maxLength: 1000
example: new.jwt.token
process_code:
description: 'Уникальный идентификатор процесса. Создается один на процесс,
одинаковый для разных запросов по одному процессу.
'
type: string
format: uuid
example: 11111111-2222-3333-4444-555555555555
request_code:
description: 'Уникальный идентификатор запроса. Создается новый на каждый запрос.
'
type: string
format: uuid
example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
company_key:
description: Уникальный идентификатор компании.
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: smart_company
service:
description: Название сервиса.
type: string
enum:
- UNIVERSAL
- ROUTING
- ACCOUNT
- ADMIN
- STUDIO
- MONITOR
- PACKER
- AGRO
- REGISTRY
- SUPPORT
example: UNIVERSAL
operation:
description: Наименование операции (запроса).
type: string
pattern: \w+
minLength: 3
maxLength: 256
example: run_plan_calculation
tracedata:
description: Данные используемые для трассировки запросов.
type: object
additionalProperties: false
properties:
process_code:
$ref: '#/components/schemas/process_code'
request_code:
$ref: '#/components/schemas/request_code'
username:
$ref: '#/components/schemas/user_username'
company:
$ref: '#/components/schemas/company_key'
service:
$ref: '#/components/schemas/service'
operation:
$ref: '#/components/schemas/operation'
env:
description: Уникальный идентификатор окружения.
type: string
pattern: \S+
minLength: 2
maxLength: 256
example: edge7
pod:
description: Уникальный идентификатор пода.
type: string
pattern: \S+
minLength: 2
maxLength: 256
example: 11111111-2222-3333-4444-555555555555
time:
description: Дата и время вызова метода сервиса в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
required:
- process_code
- request_code
- username
- company
- service
- operation
- env
- pod
- time
error_message:
description: Сообщение об ошибке.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 2048
example: bad data
schema_error:
description: Ошибка по схеме.
type: object
additionalProperties: false
properties:
entity:
description: Идентификатор целевой сущности.
type:
- string
- 'null'
minLength: 1
maxLength: 1024
example: order_0001
message:
description: Сообщение об ошибке.
type: string
minLength: 1
maxLength: 2048
example: bad input data
required:
- entity
- message
schema_error_list:
description: Список синтаксических ошибок - данные не удовлетворяют схеме.
type: array
uniqueItems: false
minItems: 0
maxItems: 15001
items:
$ref: '#/components/schemas/schema_error'
default: []
general_400:
description: Детализация по ошибке 400 `Bad Request`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
schema_errors:
$ref: '#/components/schemas/schema_error_list'
required:
- tracedata
general_402:
description: Детализация по ошибке 402 `Payment Required`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
general_403:
description: Детализация по ошибке 403 `Forbidden`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
general_404_detail:
description: Детализация по ресурсу.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
required:
- tracedata
nullable:
description: Пустое значение.
type: 'null'
general_404:
description: Детализация по ошибке 404.
type: object
additionalProperties: false
properties:
resource_key:
description: Идентификатор ресурса.
type:
- string
- 'null'
default: null
minLength: 1
maxLength: 1024
example: resource_key_one
detail:
description: Детализация по ресурсу, если возможно.
oneOf:
- $ref: '#/components/schemas/general_404_detail'
- $ref: '#/components/schemas/nullable'
default: null
general_429:
description: Детализация по ошибке 429 `Too Many Requests`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
general_500:
description: Детализация по ошибке 500 `Internal Server Error`.
type: object
additionalProperties: false
properties:
tracedata:
$ref: '#/components/schemas/tracedata'
message:
$ref: '#/components/schemas/error_message'
required:
- tracedata
user_role:
description: Роль.
type: string
enum:
- ADMIN
- PARTNER
- USER
- BOT
- COMPANYOWNER
- OVERLORD
- CREW
- CREWMANAGER
example: USER
user_role_list:
description: Перечень ролей пользователя.
type: array
uniqueItems: true
minItems: 0
maxItems: 2
items:
$ref: '#/components/schemas/user_role'
default: []
token_validation_result:
description: Результат проверки токена.
type: object
additionalProperties: false
properties:
valid:
description: Статус токена.
type: boolean
example: true
roles:
$ref: '#/components/schemas/user_role_list'
required:
- valid
- roles
password_change_request:
description: Данные для замены пароля.
type: object
additionalProperties: false
properties:
current_password:
$ref: '#/components/schemas/user_password'
new_password:
$ref: '#/components/schemas/user_password'
required:
- current_password
- new_password
user_specification:
description: Описание пользователя.
type:
- string
- 'null'
default: null
minLength: 2
maxLength: 256
example: User full name
user_email:
description: Почта пользователя.
type:
- string
- 'null'
format: email
pattern: ^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
default: null
minLength: 5
maxLength: 256
example: admin@company.com
user_phone:
description: Телефон пользователя.
type:
- string
- 'null'
pattern: ^[+]{1}(?:[0-9\-$$\/\.]\s?){6,15}[0-9]{1}$
default: null
minLength: 5
maxLength: 32
example: '+71112223333'
timezone:
description: Временная зона.
type: integer
format: int32
minimum: -12
maximum: 12
default: 0
example: 3
attribute:
description: Атрибут.
type: object
additionalProperties: false
properties:
key:
description: Ключ атрибута.
type: string
minLength: 1
maxLength: 100
example: code
value:
description: Значение атрибута.
type: string
minLength: 0
maxLength: 7000
example: X51
strategy:
description: "Стратегия обработки атрибута:\n * `LASTMILE_REF_TIME` - при\
\ отправке задачи на планировщик значение (формат [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6))\
\ атрибута заменяется на относительное время, если значение не в формате\
\ - расчет останавливается со статусом `FAILED`.\n"
type:
- string
- 'null'
minLength: 0
maxLength: 100
default: null
example: LASTMILE_REF_TIME
required:
- key
- value
attributes:
description: Атрибуты. Используются для указания служебной информации.
type: array
uniqueItems: true
minItems: 0
maxItems: 250
items:
$ref: '#/components/schemas/attribute'
default: []
user:
description: Пользователь.
type: object
additionalProperties: false
properties:
username:
$ref: '#/components/schemas/user_username'
password:
$ref: '#/components/schemas/user_password'
specification:
$ref: '#/components/schemas/user_specification'
email:
$ref: '#/components/schemas/user_email'
phone:
$ref: '#/components/schemas/user_phone'
company_key:
$ref: '#/components/schemas/company_key'
enabled:
description: Статус пользователя.
type: boolean
default: true
example: true
roles:
$ref: '#/components/schemas/user_role_list'
timezone:
$ref: '#/components/schemas/timezone'
description: Базовая временная зона, которая используется для расчета статистики.
default: 0
edit_date:
description: 'Дата и время последнего редактирования в соответствии с [ISO
8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type:
- string
- 'null'
format: date-time
default: null
readOnly: true
example: '2026-09-21T19:45:00Z'
creation_date:
description: 'Дата и время создания в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
'
type:
- string
- 'null'
format: date-time
default: null
readOnly: true
example: '2026-09-21T19:45:00Z'
attributes:
$ref: '#/components/schemas/attributes'
required:
- username
- company_key
- roles
info_change_request:
description: Данные для обновления пользователя.
type: object
additionalProperties: false
properties:
specification:
$ref: '#/components/schemas/user_specification'
email:
$ref: '#/components/schemas/user_email'
phone:
$ref: '#/components/schemas/user_phone'
attributes:
$ref: '#/components/schemas/attributes'
process_type:
description: "Тип процесса. Уникальность точек считается в рамках одного типа\
\ процесса. \n"
type: string
enum:
- NOTRACE
- TRACE
- PLAN
- CONVERT
- VALIDATE
- ROUTE
- MATRIX
example: PLAN
process_quota:
description: 'Квота на тип процессов сервиса. При превышении любой из квот
запрос не возвращается с ошибкой превышения квоты.
'
type: object
additionalProperties: false
properties:
process_type:
$ref: '#/components/schemas/process_type'
points_per_request:
description: Максимальное количество неуникальных точек на один запрос.
type: integer
format: int32
minimum: 0
maximum: 1000000
example: 1500
points_per_day:
description: Максимальное количество неуникальных точек на один запрос в
сутки.
type: integer
format: int32
minimum: 0
maximum: 100000000
example: 25000
max_concurrent_execution:
description: 'Максимальное количество одновременных расчетов. Параметр
ограничен сверху максимальным значением для конкретной среды.
'
type: integer
format: int32
minimum: 0
maximum: 1000
example: 5
required:
- process_type
- points_per_request
- points_per_day
- max_concurrent_execution
service_quota:
description: Квота на сервис.
type: object
additionalProperties: false
properties:
service:
$ref: '#/components/schemas/service'
processes:
description: Список квот на типы процессов.
type: array
uniqueItems: false
minItems: 1
maxItems: 100
items:
$ref: '#/components/schemas/process_quota'
required:
- service
- processes
quota_base:
description: Квота на все сервисы.
type: object
additionalProperties: false
properties:
services:
description: Список квот на сервисы.
type: array
uniqueItems: true
minItems: 1
maxItems: 8
items:
$ref: '#/components/schemas/service_quota'
required:
- services
quotas_result:
description: Результат запроса на квоты.
type: object
additionalProperties: false
properties:
base:
$ref: '#/components/schemas/quota_base'
required:
- base
calculation_status:
description: "Статус расчета:\n * `WAITING` - расчет ожидает запуска.\n *\
\ `IN_PROGRESS` - расчет в процессе.\n * `FINISHED_IN_TIME` - расчет корректно\
\ завершился раньше указанного максимального времени.\n * `FINISHED_OUT_OF_TIME`\
\ - расчет завершился, так как закончилось указанное время на расчет, может\
\ влиять на качество результата в худшую сторону.\n * `CANCELED` - расчет\
\ был отменен, так как была получена команда на отмену.\n * `CANCELED_BY_TIMEOUT`\
\ - расчет был отменен автоматически, так как превышено время ожидания в очереди.\n\
\ * `CANCELED_BY_QUOTA` - расчет был отменен, так как квота на этот тип расчета\
\ была превышена.\n * `FAILED` - расчет завершился с ошибкой.\n"
type: string
enum:
- WAITING
- IN_PROGRESS
- FINISHED_IN_TIME
- FINISHED_OUT_OF_TIME
- CANCELED
- CANCELED_BY_TIMEOUT
- CANCELED_BY_QUOTA
- FAILED
example: FINISHED_IN_TIME
time_duration:
description: Продолжительность временного отрезка в формате [ISO 8601 duration](https://ru.wikipedia.org/wiki/ISO_8601).
type: string
format: duration
x-custom-format: duration
pattern: ^P(?!$)((\d+Y)|(\d+\.\d+Y$))?((\d+M)|(\d+\.\d+M$))?((\d+W)|(\d+\.\d+W$))?((\d+D)|(\d+\.\d+D$))?(T(?=\d)((\d+H)|(\d+\.\d+H$))?((\d+M)|(\d+\.\d+M$))?(\d+(\.\d+)?S)?)??$
minLength: 3
maxLength: 16
default: PT0S
example: PT1H45M
calculation_info:
description: Информация о расчете.
type: object
additionalProperties: false
properties:
status:
$ref: '#/components/schemas/calculation_status'
message:
description: Сообщение с дополнительной информацией о статусе расчета.
type:
- string
- 'null'
minLength: 0
maxLength: 10000
default: null
example: detail error message
result_version:
description: Версия текущего результата расчета.
type: integer
format: int32
minimum: 0
maximum: 1000000
example: 133
preparing_time:
$ref: '#/components/schemas/time_duration'
description: Время подготовки к расчету (конвертация данных), формат [ISO
8601 duration](https://ru.wikipedia.org/wiki/ISO_8601).
business_validation_time:
$ref: '#/components/schemas/time_duration'
description: Время бизнес-проверки данных, формат [ISO 8601 duration](https://ru.wikipedia.org/wiki/ISO_8601).
math_validation_time:
$ref: '#/components/schemas/time_duration'
description: Время математической проверки данных, формат [ISO 8601 duration](https://ru.wikipedia.org/wiki/ISO_8601).
waiting_time:
$ref: '#/components/schemas/time_duration'
description: Время ожидания расчета в очереди, формат [ISO 8601 duration](https://ru.wikipedia.org/wiki/ISO_8601).
calculation_time:
$ref: '#/components/schemas/time_duration'
description: Время фактического расчета, формат [ISO 8601 duration](https://ru.wikipedia.org/wiki/ISO_8601).
postprocessing_time:
$ref: '#/components/schemas/time_duration'
description: Время постобработки расчета с помощью Universal Extension,
формат [ISO 8601 duration](https://ru.wikipedia.org/wiki/ISO_8601).
required:
- status
- result_version
- preparing_time
- business_validation_time
- math_validation_time
- waiting_time
- calculation_time
audit_action_statistics:
description: 'Детальная статистика по процессу.
'
type: object
additionalProperties: false
properties:
request_points_count:
description: Количество неуникальных точек в запросе.
type:
- integer
- 'null'
format: int32
minimum: 0
maximum: 100000000
default: null
example: 1500
result_elements_count:
description: Количество запланированных элементов в ответе.
type:
- integer
- 'null'
format: int32
minimum: 0
maximum: 100000000
default: null
example: 500
calculation_info:
$ref: '#/components/schemas/calculation_info'
required:
- calculation_info
audit_action:
description: Действие пользователя - список запросов, сгруппированный по одному
процессу.
type: object
additionalProperties: false
properties:
process_code:
$ref: '#/components/schemas/process_code'
process_type:
$ref: '#/components/schemas/process_type'
username:
$ref: '#/components/schemas/user_username'
company:
$ref: '#/components/schemas/company_key'
service:
$ref: '#/components/schemas/service'
time:
description: Дата и время создания процесса в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
requests:
description: Список запросов, которые относятся к одному процессу.
type: array
uniqueItems: false
minItems: 0
maxItems: 100000000
items:
$ref: '#/components/schemas/tracedata'
statistics:
$ref: '#/components/schemas/audit_action_statistics'
input_file_exists:
description: Признак наличия сохраненного входного файла.
type: boolean
default: false
example: true
output_file_exists:
description: Признак наличия сохраненного выходного файла.
type: boolean
default: false
example: true
required:
- process_code
- process_type
- username
- company
- service
- time
- requests
- statistics
audit_counters_detail:
description: Детальные счетчики по списку записей.
type: object
additionalProperties: false
properties:
total:
description: Количество записей.
type: integer
format: int32
minimum: 0
maximum: 100000000
example: 1
required:
- total
audit_counters:
description: Счетчики по списку записей.
type: object
additionalProperties: false
properties:
overall:
$ref: '#/components/schemas/audit_counters_detail'
filter:
$ref: '#/components/schemas/audit_counters_detail'
required:
- overall
- filter
account_audit_result:
description: Результат запроса действий по пользователю.
type: object
additionalProperties: false
properties:
actions:
description: Список пользовательских действий.
type: array
uniqueItems: false
minItems: 0
maxItems: 2001
items:
$ref: '#/components/schemas/audit_action'
counters:
$ref: '#/components/schemas/audit_counters'
required:
- actions
- counters
flow_type:
description: Тип потока обработки данных.
type: string
enum:
- INPUT
- OUTPUT
default: INPUT
example: OUTPUT
flow_stage:
description: "Этап потока обработки данных:\n * `RAW` - сырые данные, полученные\
\ от клиента или отправленные клиенту\n"
type: string
enum:
- RAW
default: RAW
example: RAW
file_binary:
description: Файл с данными (octet-stream).
type: string
format: byte
process_statistics:
description: Статистика по использованию метода сервиса.
type: object
additionalProperties: false
properties:
process_type:
$ref: '#/components/schemas/process_type'
points_per_day:
description: "Неуникальные точки в расчетные сутки (начало суток зависит\
\ от часового пояса клиента, который указан в настройках клиента).\nТочка\
\ рассчитывается для каждого сервиса отдельно и равна:\n * `UNIVERSAL`\
\ - одному заказу, независимо от его финального состояния после расчета\n\
\ * `ROUTING` - одной локации\n"
type: integer
format: int32
minimum: 0
maximum: 100000000
example: 2500
unique_points_per_day:
description: "Уникальные точки в расчетные сутки (начало суток зависит от\
\ часового пояса клиента, который указан в настройках клиента).\nУникальная\
\ точка рассчитывается для каждого сервиса отдельно и равна:\n * `UNIVERSAL`\
\ - одному заказу, независимо от его финального состояния после расчета,\
\ при этом уникальность определяется по ключу заказа и координатам (6\
\ знаков после запятой) всех его возможных событий\n * `ROUTING` - уникальная\
\ координата (6 знаков после запятой) локации\n"
type: integer
format: int32
minimum: 0
maximum: 100000000
example: 1500
elements_per_day:
description: "Элементы результата в расчетные сутки (начало суток зависит\
\ от часового пояса клиента, который указан в настройках клиента).\nЭлемент\
\ рассчитывается для каждого сервиса отдельно и равен:\n * `UNIVERSAL`\
\ - одному рейсу\n * `ROUTING` - перемещению между двумя точками\n"
type: integer
format: int32
minimum: 0
maximum: 100000000
example: 250
processes_per_day:
description: 'Суммарное количество процессов в расчетные сутки (начало суток
зависит от часового пояса клиента, который указан в настройках клиента).
Процесс равен одному расчету и не зависит от типа сервиса.
'
type: integer
format: int32
minimum: 0
maximum: 100000000
example: 776
required:
- process_type
- points_per_day
- unique_points_per_day
- elements_per_day
- processes_per_day
service_statistics:
description: Статистика по использованию всех процессов сервиса.
type: object
additionalProperties: false
properties:
service:
$ref: '#/components/schemas/service'
processes:
description: Список статистик по использованию процессов указанного сервиса.
type: array
uniqueItems: false
minItems: 1
maxItems: 100
items:
$ref: '#/components/schemas/process_statistics'
required:
- service
- processes
date_statistics:
description: Статистика за определенную дату.
type: object
additionalProperties: false
properties:
date:
description: Дата в формате YYYY-MM-DD.
type: string
format: date
example: '2026-09-05'
services:
description: Список статистик по каждому сервису на указанную дату.
type: array
uniqueItems: false
minItems: 0
maxItems: 8
items:
$ref: '#/components/schemas/service_statistics'
required:
- date
- services
user_statistics:
description: Статистика по использованию сервисов конкретным пользователем.
type: object
additionalProperties: false
properties:
username:
$ref: '#/components/schemas/user_username'
dates:
description: Список статистик по каждому дню для указанного пользователя.
type: array
uniqueItems: false
minItems: 0
maxItems: 3653
items:
$ref: '#/components/schemas/date_statistics'
required:
- username
- dates
file_xlsx:
description: Файл с данными в формате [XLSX](https://ru.wikipedia.org/wiki/Microsoft_Excel).
type: string
format: byte
check_result:
description: Результат проверки работоспособности сервиса.
type: object
additionalProperties: false
properties:
health:
description: "Текущий показатель здоровья сервиса. \n * `0.0` означает\
\ неготовность сервиса выполнять задачи. \n * `1.0` означает полную\
\ готовность сервиса для выполнения задач.\n"
type: number
format: double
minimum: 0
maximum: 1
example: 0.999
required:
- health
version_result:
description: Версия сервиса.
type: object
additionalProperties: false
properties:
major:
description: "Версия продукта.\nВ рамках одной версии гарантируется совместимость\
\ общих структур данных между сервисами. \nИзменение версии указывает\
\ на несовместимые с предыдущими версиями продукта (и, соответственно,\
\ всех сервисов) изменения.\n"
type: integer
format: int32
minimum: 1
maximum: 100
example: 7
minor:
description: 'Минорная версия сервиса.
Изменение версии указывает на новую функциональность.
Обновление имеет обратную совместимость в рамках мажорной версии сервиса.
'
type: integer
format: int32
minimum: 0
maximum: 111
example: 15
build:
description: "Версия сборки. \nИзменяется при обновлении документации\
\ и исправлении ошибок.\n"
type: string
minLength: 1
maxLength: 64
example: 3754RC
required:
- major
- minor
- build
file_html:
description: Файл с данными в формате [HTML](https://html.spec.whatwg.org/).
type: string
minLength: 0
maxLength: 2000000000
file_json:
description: Файл с данными в формате [JSON](https://www.json.org/).
type: string
minLength: 0
maxLength: 2000000000
responses:
'400':
description: Неверный запрос - входные данные содержат ошибки
content:
application/json:
schema:
$ref: '#/components/schemas/general_400'
'401':
description: Ошибка доступа - неверные реквизиты для авторизации, токен отсутствует
или невалиден
'402':
description: Необходима оплата
content:
application/json:
schema:
$ref: '#/components/schemas/general_402'
'403':
description: Действие запрещено - уровень прав доступа не позволяет совершить
данное действие
content:
application/json:
schema:
$ref: '#/components/schemas/general_403'
'404':
description: Запрашиваемая сущность не найдена
content:
application/json:
schema:
$ref: '#/components/schemas/general_404'
'405':
description: Метод запрещен для данного ресурса, проверьте указанный метод (POST,
GET, ...)
'406':
description: Клиент не способен обработать формат ответа, проверьте заголовки
'415':
description: Неприемлемый формат запроса, проверьте заголовки
'429':
description: Превышено количество запросов
content:
application/json:
schema:
$ref: '#/components/schemas/general_429'
'431':
description: Слишком большие поля заголовка запроса
'500':
description: Внутренняя ошибка сервера
content:
application/json:
schema:
$ref: '#/components/schemas/general_500'
'501':
description: Функциональность не доступна для использования
'502':
description: Неверный шлюз
'503':
description: Сервис не доступен
'504':
description: Шлюз не отвечает
parameters:
offset:
name: offset
description: Количество пропущенных сущностей до возвращаемого списка.
in: query
required: false
schema:
description: Количество пропущенных сущностей до возвращаемого списка.
type: integer
format: int32
minimum: 0
maximum: 10000000
default: 0
example: 10
limit:
name: limit
description: Максимальное количество возвращаемых сущностей.
in: query
required: false
schema:
description: Максимальное количество возвращаемых сущностей.
type: integer
format: int32
minimum: 1
maximum: 2001
default: 100
example: 10
datetime_from:
name: from
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
начиная с которого (включительно) будет производится выгрузка данных. Если
не указано - возвращаются данные с начала текущего дня.
'
in: query
required: false
schema:
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
начиная с которого (включительно) будет производится выгрузка данных. Если
не указано - возвращаются данные с начала текущего дня.
'
type: string
format: date-time
example: '2026-09-21T09:30:00+03:00'
datetime_to:
name: to
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
до которого (включительно) будет производится выгрузка данных. Если не указано
- возвращаются данные до текущего времени.
'
in: query
required: false
schema:
description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6),
до которого (включительно) будет производится выгрузка данных. Если не указано
- возвращаются данные до текущего времени.
'
type: string
format: date-time
example: '2026-09-21T18:00:00+03:00'
service:
name: service
description: Название сервиса.
in: query
required: false
schema:
$ref: '#/components/schemas/service'
operation:
name: operation
description: Название операции.
in: query
required: false
schema:
$ref: '#/components/schemas/operation'
process_type:
name: process_type
description: Тип процесса.
in: query
required: false
schema:
$ref: '#/components/schemas/process_type'
status:
name: status
description: Статус процесса.
in: query
required: false
schema:
$ref: '#/components/schemas/calculation_status'
sort_field:
name: sort_field
description: Поле, по которому необходимо делать сортировку.
in: query
required: false
schema:
description: Поле, по которому необходимо делать сортировку.
type: string
minLength: 1
maxLength: 64
example: name
sort_direction:
name: sort_direction
description: Направление сортировки.
in: query
required: false
schema:
description: Направление сортировки.
type: string
enum:
- ASC
- DESC
default: ASC
example: DESC
process_code:
name: process_code
description: Уникальный идентификатор процесса.
in: path
required: true
schema:
$ref: '#/components/schemas/process_code'
data_flow_type:
name: data_flow_type
description: Тип потока обработки данных.
in: query
required: false
schema:
$ref: '#/components/schemas/flow_type'
data_flow_stage:
name: data_flow_stage
description: Этап потока обработки данных.
in: query
required: false
schema:
$ref: '#/components/schemas/flow_stage'
date_from:
name: from
description: Дата `от` в формате YYYY-MM-DD.
in: query
required: false
schema:
description: Дата `от` в формате YYYY-MM-DD.
type: string
format: date
example: '2026-09-22'
date_to:
name: to
description: Дата `до` (включительно) в формате YYYY-MM-DD.
in: query
required: false
schema:
description: Дата `до` (включительно) в формате YYYY-MM-DD.
type: string
format: date
example: '2026-09-26'
filename:
name: filename
description: Название файла.
in: path
required: true
schema:
description: Название файла.
type: string
minLength: 6
maxLength: 128
example: file_en.html
x-tagGroups:
- name: Client
tags:
- Auth
- Info
- Quota
- name: Support
tags:
- Audit
- Data
- Statistics
- name: Maintenance
tags:
- System