openapi: 3.0.3 info: title: VRt.Admin [AD] version: 7.13.2613 license: name: Proprietary url: https://veeroute.cn/ termsOfService: https://veeroute.cn/resources/terms_of_service contact: name: Veeroute Support Team email: servicedesk@veeroute.com x-logo: url: ../images/admin.svg backgroundColor: '#FAFAFA' altText: VRt.Admin description: '# Description Veeroute Admin Panel. ## Entity relationship diagram ![erd](../uml/admin.svg) ' servers: - url: https://api.edge7.veeroute.cloud description: 用于集成和早期访问新功能的环境 - url: https://api.prod7.veeroute.cloud description: 生产环境 security: - ApiKeyAuth: [] tags: - name: Companies description: 'Company management. ' - name: Users description: 'Users management. ' - name: Audit description: 'User actions. ' - name: Data description: 'User data. ' - name: Statistics description: 'Statistics. ' - name: Quota description: 'Quota. ' - name: System description: '系统功能。 所有服务共有的辅助功能。 ' externalDocs: description: 公司网站 Veeroute url: https://veeroute.cn/ paths: /admin/companies: get: tags: - Companies summary: Companies list description: Getting a list of companies. operationId: read_companies x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/sort_field' - $ref: '#/components/parameters/sort_direction' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/company_list' '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' '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' post: tags: - Companies summary: Company creation description: New company creation. operationId: create_company x-process-type: TRACE requestBody: description: Company creation request. required: true content: application/json: schema: $ref: '#/components/schemas/company' responses: '201': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/company' '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' '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: - Companies summary: Company update description: Updating the company information. operationId: update_company x-process-type: TRACE requestBody: description: Company update request. required: true content: application/json: schema: $ref: '#/components/schemas/company' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/company' '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' '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' /admin/companies/{company_key}: get: tags: - Companies summary: Getting company information description: Getting company information by key. operationId: read_company x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/company_key' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/company' '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' '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' delete: tags: - Companies summary: Company removal description: Removing a company by key. operationId: delete_company x-process-type: TRACE parameters: - $ref: '#/components/parameters/company_key' responses: '204': description: Successful execution '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' '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' /admin/users: get: tags: - Users summary: Users list description: Getting a list of users. operationId: read_users x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/sort_field' - $ref: '#/components/parameters/sort_direction' - $ref: '#/components/parameters/company_key-2' - name: user_group description: Users logic groups. in: query required: false schema: $ref: '#/components/schemas/user_groups' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/user_list' '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' '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' post: tags: - Users summary: User creation description: New user creation. operationId: create_user x-process-type: TRACE requestBody: description: User creation request. required: true content: application/json: schema: $ref: '#/components/schemas/user' responses: '201': description: Successful execution 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' '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: - Users summary: Account update description: 'Updating the user information by login. The username field cannot be changed. ' operationId: update_user x-process-type: TRACE requestBody: description: User update request. required: true content: application/json: schema: $ref: '#/components/schemas/user' responses: '200': description: Successful execution 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' '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' /admin/users/{username}: get: tags: - Users summary: User information description: Getting user information by login. operationId: read_user x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/username' responses: '200': description: Successful execution 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' '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' delete: tags: - Users summary: User removal description: Removing a user by login. operationId: delete_user x-process-type: TRACE parameters: - $ref: '#/components/parameters/username' responses: '204': description: Successful execution - user deleted '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' '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' /admin/audit: get: tags: - Audit summary: User actions description: 'User actions for the period. If the period is not specified, records for the current day are returned from the beginning of the day to the current time. If username is empty, report on all users are processed. ' operationId: read_audit_data x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/company_key-2' - $ref: '#/components/parameters/username-2' - $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: Successful execution content: application/json: schema: $ref: '#/components/schemas/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' '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' /admin/data/{process_code}: get: tags: - Data summary: Reading data description: Receiving data by `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: Successful execution 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' '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' /admin/queue: delete: tags: - Data summary: Clearing the queue description: 'Clearing the task queue. If the service is not specified, the queues for all services are cleared. If the calculation status is not specified, all tasks in the `WAITING` and `IN_PROGRESS` statuses are cancelled. ' operationId: clear_queue x-process-type: TRACE parameters: - $ref: '#/components/parameters/service' - $ref: '#/components/parameters/calculation_status' responses: '200': description: Successful execution '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' '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' /admin/statistics: get: tags: - Statistics summary: Statistics for the period description: 'User statistics for the period. If username is empty, statistics on all users are processed. If the period is not specified, the statistics for the current month returns (from the beginning of the month to the present day). If no `from` datetime is specified, data are returned from the beginning of the month. If no `to` datetime is specified, data are returned be to the present day (excluding). Empty service and process type fields mean returning statistics for all services and process types. ' operationId: generate_statistics x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/username-2' - $ref: '#/components/parameters/date_from' - $ref: '#/components/parameters/date_to' - $ref: '#/components/parameters/service' - $ref: '#/components/parameters/process_type' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/statistics_result' examples: StatisticsResult: $ref: '#/components/examples/StatisticsResult' '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' '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' /admin/report: get: tags: - Statistics summary: Reporting description: 'Report by user for the period. If username is empty, report on all users are processed. If the period is not specified, the report for the current month returns (from the beginning of the month to the present day). If no `from` datetime is specified, data are returned from the beginning of the month. If no `to` datetime is specified, data are returned be to the present day (excluding). Empty service and process type fields mean returning statistics for all services and process types. ' operationId: generate_report x-process-type: TRACE parameters: - $ref: '#/components/parameters/username-2' - $ref: '#/components/parameters/date_from' - $ref: '#/components/parameters/date_to' - $ref: '#/components/parameters/service' - $ref: '#/components/parameters/process_type' responses: '200': description: Report created successfully 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' '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' '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' /admin/quota/{username}: post: tags: - Quota summary: Setting the quotas description: Setting the quotas for the user. operationId: update_quota x-process-type: TRACE parameters: - $ref: '#/components/parameters/username' requestBody: description: Request to change the quota. required: true content: application/json: schema: $ref: '#/components/schemas/quota_base' responses: '200': description: The quota has been updated successfully. '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' '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' get: tags: - Quota summary: Obtaining the quotas description: Obtaining the quotas for the user. operationId: read_quota x-process-type: NOTRACE parameters: - $ref: '#/components/parameters/username' responses: '200': description: Successful execution 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' '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' delete: tags: - Quota summary: Quota removal description: Quota removal for the user. operationId: delete_quota x-process-type: TRACE parameters: - $ref: '#/components/parameters/username' responses: '204': description: Basic quota has been deleted '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' '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' /admin/system/check: get: tags: - System summary: 检查服务可用性 description: 检查服务可用性。 operationId: check x-process-type: NOTRACE security: [] responses: '200': description: Successful execution 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' '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' /admin/system/version: get: tags: - System summary: 获取服务版本 description: 获取服务版本。 operationId: version x-process-type: NOTRACE security: [] responses: '200': description: Successful execution 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' '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' /admin/file/{filename}: get: tags: - System summary: 检查服务可用性 description: 检查服务可用性。 operationId: file x-process-type: NOTRACE security: [] parameters: - $ref: '#/components/parameters/filename' responses: '200': description: Successful execution 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' '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) [JWT 令牌](https://en.wikipedia.org/wiki/JSON_Web_Token) 被使用, 必须在每个请求的标头中以以下格式指定: `授权:承载 `。 Token 可以通过 VRt.Account API 获取。 ' type: http scheme: bearer bearerFormat: JWT parameters: offset: name: offset description: The number of items to skip before starting to collect the result set. in: query required: false schema: description: The number of items to skip before starting to collect the result set. type: integer format: int32 minimum: 0 maximum: 10000000 default: 0 example: 10 limit: name: limit description: The number of items to return. in: query required: false schema: description: The number of items to return. type: integer format: int32 minimum: 1 maximum: 10000000 default: 100 example: 10 filter: name: filter description: Filter for searching by text fields. in: query required: false schema: description: Filter for searching by text fields. type: string minLength: 1 maxLength: 64 example: example text sort_field: name: sort_field description: Field to sort by. in: query required: false schema: description: Field to sort by. type: string minLength: 1 maxLength: 64 example: name sort_direction: name: sort_direction description: Sort direction. in: query required: false schema: description: Sort direction. type: string nullable: false enum: - ASC - DESC default: ASC example: DESC company_key: name: company_key description: Parameter (path) with company key. in: path required: true schema: $ref: '#/components/schemas/company_key' company_key-2: name: company_key description: Parameter (query) with company key. in: query required: false schema: $ref: '#/components/schemas/company_key' username: name: username description: Parameter (path) with username. in: path required: true schema: $ref: '#/components/schemas/user_username' username-2: name: username description: Parameter (query) with username. in: query required: false schema: $ref: '#/components/schemas/user_username' datetime_from: name: from description: 'Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. If no datetime is specified, audit data are returned from the beginning of the day. ' in: query required: false schema: description: 'Дата и время в соответствии с [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6), начиная с которого (включительно) будет производится выгрузка данных. Если не указано - возвращаются данные с начала текущего дня. ' type: string format: date-time example: '2025-03-21T09:30:00+03:00' datetime_to: name: to description: 'Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. If not specified, data up to the current time is returned. ' in: query required: false schema: description: 'Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. If not specified, data up to the current time is returned. ' type: string format: date-time example: '2025-03-21T18:00:00+03:00' service: name: service description: Service name. in: query required: false schema: $ref: '#/components/schemas/service' operation: name: operation description: Operation name. in: query required: false schema: $ref: '#/components/schemas/operation' process_type: name: process_type description: Process type. in: query required: false schema: $ref: '#/components/schemas/process_type' status: name: status description: Process status. in: query required: false schema: $ref: '#/components/schemas/calculation_status' process_code: name: process_code description: 唯一的进程标识符。 in: path required: true schema: $ref: '#/components/schemas/process_code' data_flow_type: name: data_flow_type description: Data flow type. in: query required: false schema: $ref: '#/components/schemas/flow_type' data_flow_stage: name: data_flow_stage description: Data flow stage. in: query required: false schema: description: "Data flow stage:\n * `RAW` - raw data received from the client\ \ or sent to the client\n" type: string nullable: false enum: - RAW default: RAW example: RAW calculation_status: name: calculation_status description: Calculation status. in: query required: false schema: $ref: '#/components/schemas/calculation_status' date_from: name: from description: Date `from` in the YYYY-MM-DD format. in: query required: false schema: description: Date `from` in the YYYY-MM-DD format. type: string format: date example: '2025-03-22' date_to: name: to description: Date `to` (including) in the YYYY-MM-DD format. in: query required: false schema: description: Date `to` (including) in the YYYY-MM-DD format. type: string format: date example: '2025-03-26' filename: name: filename description: File name. in: path required: true schema: description: File name. type: string minLength: 6 maxLength: 128 example: file_en.html responses: '400': description: Bad request - input data contains errors content: application/json: schema: $ref: '#/components/schemas/general_400' '401': description: Unauthorized - incorrect authorization details, token is missing or invalid '402': description: Payment Required content: application/json: schema: $ref: '#/components/schemas/general_402' '403': description: Forbidden - no permission to execute this operation content: application/json: schema: $ref: '#/components/schemas/general_403' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/general_404' '405': description: Method not allowed, check method (POST, GET, ...) '406': description: Client is unable to process a format of response, check headers '415': description: Unsupported media type, check headers '429': description: Too many requests content: application/json: schema: $ref: '#/components/schemas/general_429' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/general_500' '501': description: Not implemented '502': description: Bad gateway '503': description: Service unavailable '504': description: Gateway timeout schemas: company_key: description: Unique company key. type: string pattern: \w+ minLength: 3 maxLength: 256 example: smart_company company: description: Company. type: object additionalProperties: false properties: key: $ref: '#/components/schemas/company_key' specification: description: Company specification. type: string nullable: true default: null minLength: 2 maxLength: 256 example: Company full name required: - key company_list_counters_detail: description: Detailed statistics by company list. type: object additionalProperties: false properties: total: description: Count. type: integer format: int32 minimum: 0 maximum: 100000 example: 1 required: - total company_list_counters: description: Statistics by company list. type: object additionalProperties: false properties: overall: $ref: '#/components/schemas/company_list_counters_detail' description: General statistics, does not depend on the filter. filter: $ref: '#/components/schemas/company_list_counters_detail' description: Filtered company statistics. required: - overall - filter company_list: description: A list of companies. type: object additionalProperties: false properties: companies: description: A list of companies. type: array uniqueItems: false minItems: 0 maxItems: 10000000 items: $ref: '#/components/schemas/company' counters: $ref: '#/components/schemas/company_list_counters' required: - companies - counters process_code: description: 'Unique process identifier. One is created per process, the same for different requests for the same process. ' type: string format: uuid example: 11111111-2222-3333-4444-555555555555 request_code: description: 'Unique identifier of the request. A new one is created for each request. ' type: string format: uuid example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee user_username: description: Unique username for login. type: string pattern: \w+ minLength: 2 maxLength: 256 example: username_for_login service: description: Service name. type: string enum: - UNIVERSAL - ROUTING - ACCOUNT - ADMIN - STUDIO - MONITOR - PACKER - AGRO example: UNIVERSAL operation: description: Operation (request) name. type: string pattern: \w+ minLength: 3 maxLength: 256 example: run_plan_calculation tracedata: description: Data for request tracing. 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: Environment identifier. type: string pattern: \w+ minLength: 2 maxLength: 256 example: edge7 pod: description: Pod identifier. type: string pattern: \w+ minLength: 2 maxLength: 256 example: 11111111-2222-3333-4444-555555555555 time: description: Date and time service method run in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2025-03-21T09:30:00+03:00' required: - process_code - request_code - username - company - service - operation - env - pod - time schema_error: description: Data error by schema. type: object additionalProperties: false properties: entity: description: Target entity identifier. type: string nullable: true maxLength: 1024 example: order_0001 message: description: Error message. type: string example: bad input data required: - entity - message schema_error_list: description: List of syntax errors - data does not match the schema. type: array uniqueItems: false minItems: 0 maxItems: 15001 items: $ref: '#/components/schemas/schema_error' general_400: description: 400 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Bad Request schema_errors: $ref: '#/components/schemas/schema_error_list' required: - tracedata general_402: description: 402 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Payment Required required: - tracedata general_403: description: 403 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Forbidden required: - tracedata general_404: description: 404 Error details. type: object additionalProperties: false properties: resource_key: description: Resource identifier. type: string nullable: true default: null example: resource_key detail: description: Resource details. type: object additionalProperties: false nullable: true properties: tracedata: $ref: '#/components/schemas/tracedata' required: - tracedata general_429: description: 429 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Too many requests required: - tracedata general_500: description: 500 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Internal Server Error required: - tracedata user_groups: description: Users logic groups. type: string enum: - TOTAL - ACTIVE - BLOCKED - ADMINS default: TOTAL example: ACTIVE user_password: description: Password. type: string nullable: true default: null format: password minLength: 10 maxLength: 256 example: long_strong_password writeOnly: true user_specification: description: User specification. type: string nullable: true default: null minLength: 2 maxLength: 256 example: User full name user_email: description: User e-mail address. type: string format: email nullable: true default: null minLength: 5 maxLength: 256 example: admin@company.com user_phone: description: User phone. type: string nullable: true default: null minLength: 5 maxLength: 32 example: '+71112223333' user_role: description: Role. type: string enum: - ADMIN - PARTNER - USER - BOT example: USER user_role_list: description: List of user roles. type: array uniqueItems: true minItems: 0 maxItems: 2 items: $ref: '#/components/schemas/user_role' timezone: description: Timezone. type: integer format: int32 minimum: -12 maximum: 12 default: 0 example: 3 attribute: description: Attribute. type: object additionalProperties: false properties: key: description: Attribute's key. type: string minLength: 1 maxLength: 100 example: code value: description: Attribute's value. type: string minLength: 0 maxLength: 2000 example: X51 required: - key - value attributes: description: Attributes. Used to add service information. type: array minItems: 0 maxItems: 1000 uniqueItems: true default: [] items: $ref: '#/components/schemas/attribute' user: description: User. 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: User status. type: boolean default: true example: true roles: $ref: '#/components/schemas/user_role_list' timezone: $ref: '#/components/schemas/timezone' description: Basic time zone used for statistics. edit_date: description: 'Last edit date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time nullable: true default: null readOnly: true example: '2025-03-21T19:45:00Z' creation_date: description: 'Creation date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. ' type: string format: date-time nullable: true default: null readOnly: true example: '2025-03-21T19:45:00Z' attributes: $ref: '#/components/schemas/attributes' required: - username - company_key - roles user_list_counters_detail: description: Detailed statistics by users list. type: object additionalProperties: false properties: total: description: Count users. type: integer format: int32 minimum: 0 maximum: 100000 example: 1 active: description: Active users count. type: integer format: int32 minimum: 0 maximum: 100000 example: 1 blocked: description: Blocked users count. type: integer format: int32 minimum: 0 maximum: 100000 example: 1 admins: description: Admin users count. type: integer format: int32 minimum: 0 maximum: 100000 example: 1 required: - total - active - blocked - admins user_list_counters: description: Statistics by users list. type: object additionalProperties: false properties: overall: $ref: '#/components/schemas/user_list_counters_detail' description: General statistics, does not depend on the filter. filter: $ref: '#/components/schemas/user_list_counters_detail' description: Filtered user statistics (user groups are not taken into account when calculating statistics). required: - overall - filter user_list: description: A list of users. type: object additionalProperties: false properties: users: description: A list of users. type: array uniqueItems: false minItems: 0 maxItems: 10000000 items: $ref: '#/components/schemas/user' counters: $ref: '#/components/schemas/user_list_counters' required: - users - counters process_type: description: 'Process type. Uniqueness of points is considered within one type. ' type: string enum: - NOTRACE - TRACE - PLAN - CONVERT - VALIDATE - ROUTE - MATRIX example: PLAN calculation_status: description: "Calculation status:\n * `WAITING` - the calculation is waiting\ \ to be launched.\n * `IN_PROGRESS` - calculation in progress.\n * `FINISHED_IN_TIME`\ \ - the calculation completed correctly before the specified maximum time.\n\ \ * `FINISHED_OUT_OF_TIME` - the calculation ended because the specified\ \ time for calculation has expired, which can affect the quality of the result\ \ for the worse.\n * `CANCELED` - the calculation was canceled because a\ \ cancel command was received.\n * `CANCELED_BY_TIMEOUT` - the calculation\ \ was canceled automatically because the waiting time in the queue was exceeded.\n\ \ * `CANCELED_BY_QUOTA` - the calculation was canceled because the quota\ \ for this calculation type was exceeded.\n * `FAILED` - calculation completed\ \ with an error.\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: Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). 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: Calculation information. type: object additionalProperties: false properties: status: $ref: '#/components/schemas/calculation_status' result_version: description: Planning result version. type: integer format: int32 minimum: 0 maximum: 1000000 example: 133 preparing_time: $ref: '#/components/schemas/time_duration' description: Time to prepare for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). business_validation_time: $ref: '#/components/schemas/time_duration' description: Business validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). math_validation_time: $ref: '#/components/schemas/time_duration' description: Math validation duration, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). waiting_time: $ref: '#/components/schemas/time_duration' description: Time to waiting for calculation, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). calculation_time: $ref: '#/components/schemas/time_duration' description: Actual calculation time, format [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations). required: - status - result_version - preparing_time - business_validation_time - math_validation_time - waiting_time - calculation_time audit_action_statistics: description: 'Detail process statistics. ' type: object additionalProperties: false properties: request_points_count: description: Non-unique points per request. type: integer format: int32 minimum: 0 maximum: 100000000 nullable: true default: null example: 1500 result_elements_count: description: The number of planned elements in the response. type: integer format: int32 minimum: 0 maximum: 100000000 nullable: true default: null example: 500 calculation_info: $ref: '#/components/schemas/calculation_info' required: - calculation_info audit_action: description: User action. 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: The date and time the process was created according to [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. type: string format: date-time example: '2025-03-21T09:30:00+03:00' requests: description: List of requests that relate to one process. type: array minItems: 0 maximum: 100000000 items: $ref: '#/components/schemas/tracedata' statistics: $ref: '#/components/schemas/audit_action_statistics' input_file_exists: description: Indicates the presence of a saved input file. type: boolean default: false example: true output_file_exists: description: Indicates the presence of a saved output file. type: boolean default: false example: true required: - process_code - process_type - username - company - service - time - requests - statistics audit_counters_detail: description: Detail counters by records list. type: object additionalProperties: false properties: total: description: Count of records. type: integer format: int32 minimum: 0 maximum: 100000000 example: 1 required: - total audit_counters: description: Counters by records list. type: object additionalProperties: false properties: overall: $ref: '#/components/schemas/audit_counters_detail' filter: $ref: '#/components/schemas/audit_counters_detail' required: - overall - filter audit_result: description: User actions request result. type: object additionalProperties: false properties: actions: description: User audit data list. type: array uniqueItems: false minItems: 0 maxItems: 10000000 items: $ref: '#/components/schemas/audit_action' counters: $ref: '#/components/schemas/audit_counters' required: - actions - counters flow_type: description: Data flow type. type: string enum: - INPUT - OUTPUT default: INPUT example: OUTPUT file_binary: description: File with data (octet-stream). type: string format: byte process_statistics: description: Usage statistics of the service method. type: object additionalProperties: false properties: process_type: $ref: '#/components/schemas/process_type' unique_points_per_day: description: Unique points per day. type: integer format: int32 minimum: 0 maximum: 100000000 example: 1500 points_per_day: description: Non-unique points per day. type: integer format: int32 minimum: 0 maximum: 100000000 example: 2500 elements_per_day: description: Non-unique elements of the result per day. type: integer format: int32 minimum: 0 maximum: 100000000 example: 2500 processes_per_day: description: Total number of processes per day. type: integer format: int32 minimum: 0 maximum: 100000000 example: 776 required: - process_type - unique_points_per_day - points_per_day - elements_per_day - processes_per_day service_statistics: description: Usage statistics of all service processes. type: object additionalProperties: false properties: service: $ref: '#/components/schemas/service' processes: description: Usage statistics list of the specified service processes. type: array minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/process_statistics' required: - service - processes date_statistics: description: Statistics for the specific date. type: object additionalProperties: false properties: date: description: Date in the YYYY-MM-DD format. type: string format: date example: '2025-03-05' services: description: Statistics list for each service on the specified date. type: array minItems: 0 maxItems: 8 items: $ref: '#/components/schemas/service_statistics' required: - date - services user_statistics: description: Usage service statistics by the specific user. type: object additionalProperties: false properties: username: $ref: '#/components/schemas/user_username' dates: description: Statistics list for each day for the specified user. type: array minItems: 0 maxItems: 3653 items: $ref: '#/components/schemas/date_statistics' required: - username - dates statistics_result: description: Statistics request result. type: object additionalProperties: false properties: users: description: User statistics list. type: array uniqueItems: false minItems: 0 maxItems: 10000000 items: $ref: '#/components/schemas/user_statistics' required: - users file_xlsx: description: File with data in [XLSX](https://en.wikipedia.org/wiki/Microsoft_Excel) format. type: string format: byte process_quota: description: 'Quota for the service process type. If any of the quotas are exceeded, the request is not returned with the quota exceeded error. ' type: object additionalProperties: false properties: process_type: $ref: '#/components/schemas/process_type' points_per_request: description: Maximum number of non-unique points per request. type: integer format: int32 minimum: 0 maximum: 1000000 example: 1500 points_per_day: description: Maximum number of non-unique points per request per day. type: integer format: int32 minimum: 0 maximum: 100000000 example: 25000 max_concurrent_execution: description: 'The maximum total number of concurrent process execution. The parameter is limited above by the maximum value for a specific environment. ' 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: Service quota. type: object additionalProperties: false properties: service: $ref: '#/components/schemas/service' processes: description: List of quotas for a types of processes. type: array minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/process_quota' required: - service - processes quota_base: description: All services quota. type: object additionalProperties: false properties: services: description: All services quota list. type: array uniqueItems: true minItems: 1 maxItems: 8 items: $ref: '#/components/schemas/service_quota' required: - services quotas_result: description: Quota request result. type: object additionalProperties: false properties: base: $ref: '#/components/schemas/quota_base' required: - base check_result: description: Service availability result. type: object additionalProperties: false properties: health: description: "The current health indicator of the service.\n * `0.0` means\ \ the service is not ready to perform tasks.\n * `1.0` means the service\ \ is fully ready to perform tasks.\n" type: number format: double minimum: 0 maximum: 1 example: 0.999 required: - health version_result: description: 服务版本。 type: object additionalProperties: false properties: major: description: '产品版本。 在单个版本中,保证了服务之间通用数据结构的兼容性。 版本更改表示与以前版本的产品(和所有服务)不兼容的更改。 ' type: integer format: int32 minimum: 1 maximum: 100 example: 7 minor: description: '服务的小版本。 版本更改表示新功能。 该更新向后兼容服务的主要版本。 ' type: integer format: int32 minimum: 0 maximum: 111 example: 15 build: description: '构建版本。 包含向后兼容的错误修复和文档更新。 ' type: string minLength: 1 maxLength: 64 example: 3754RC required: - major - minor - build file_html: description: File with data in [HTML](https://html.spec.whatwg.org/) format. type: string file_json: description: File with data in [JSON](https://www.json.org/) format. type: string examples: StatisticsResult: summary: Statistics result value: users: - username: user_one dates: - date: '2025-03-15' services: - service: UNIVERSAL processes: - process_type: PLAN unique_points_per_day: 1 points_per_day: 2 elements_per_day: 1 processes_per_day: 1