openapi: 3.0.3 info: title: VRt.Admin [AD] version: 6.20.2252 license: name: Proprietary url: https://veeroute.zh/ termsOfService: https://veeroute.zh/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.edge.veeroute.tech description: 用于集成和早期访问新功能的环境 - url: https://api.prod.veeroute.com 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: Quotas description: 'Quotas. ' - name: System description: '系统功能。 所有服务共有的辅助功能。 ' externalDocs: description: 主站点 url: https://veeroute.zh/ paths: /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). ' operationId: generate_statistics parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/date_from' - $ref: '#/components/parameters/date_to' responses: '200': description: Successful execution content: application/json: schema: $ref: '#/components/schemas/statistics_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/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). ' operationId: generate_report parameters: - $ref: '#/components/parameters/username' - $ref: '#/components/parameters/date_from' - $ref: '#/components/parameters/date_to' responses: '200': description: Successful execution 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}: parameters: - name: username description: Login, unique identifier. in: path required: true schema: $ref: '#/components/schemas/user_name' post: tags: - Quotas summary: Setting the quotas description: 'Setting the quotas for the user for a specific time period from date to date. ' operationId: update_quota requestBody: description: Request to change the quota on the date. 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: - Quotas summary: Obtaining the quotas description: Obtaining the quotas for the user. operationId: read_quota 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: - Quotas summary: Quota removal description: Quota removal for the user. operationId: delete_quota 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/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 parameters: - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/datetime_from' - $ref: '#/components/parameters/datetime_to' - $ref: '#/components/parameters/company_key' - $ref: '#/components/parameters/username' - name: service_name description: Service name. in: query required: false schema: $ref: '#/components/schemas/service_name' - name: operation_id description: Operation identifier. in: query required: false schema: $ref: '#/components/schemas/operation_id' - name: method_group description: Method group name. in: query required: false schema: $ref: '#/components/schemas/method_group' - $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/companies: post: tags: - Companies summary: Company creation description: New company creation. operationId: create_company 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 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' get: tags: - Companies summary: Companies list description: Getting a list of companies. operationId: read_companies 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' /admin/companies/{key}: parameters: - name: key description: Company key. in: path required: true schema: $ref: '#/components/schemas/company_key' get: tags: - Companies summary: Getting company information description: Getting company information by key. operationId: read_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' delete: tags: - Companies summary: Company removal description: Removing a company by key. operationId: delete_company 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: post: tags: - Users summary: User creation description: New user creation. operationId: create_user 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 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' get: tags: - Users summary: Users list description: Getting a list of users. operationId: read_users 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' - 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' /admin/users/{username}: parameters: - name: username description: Login, unique identifier. in: path required: true schema: $ref: '#/components/schemas/user_name' get: tags: - Users summary: User information description: Getting user information by login. operationId: read_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' delete: tags: - Users summary: User removal description: Removing a user by login. operationId: delete_user 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/data/{tracecode}: get: tags: - Data summary: Reading data description: Receiving data by `tracecode`. operationId: read_data parameters: - $ref: '#/components/parameters/tracecode' - $ref: '#/components/parameters/data_flow_type' - $ref: '#/components/parameters/data_flow_stage' - $ref: '#/components/parameters/data_flow_convert' responses: '200': description: Successful execution 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/system/check: get: tags: - System summary: 检查服务可用性 description: 检查服务可用性。 operationId: check 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 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}: parameters: - $ref: '#/components/parameters/filename' get: tags: - System summary: 检查服务可用性 description: 检查服务可用性。 operationId: file security: [] 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 schemas: user_name: description: Login, unique identifier. type: string pattern: \w+ minLength: 2 maxLength: 256 example: my_username_for_login service_name: description: Service name. type: string enum: - UNIVERSAL - ROUTING - ACCOUNT - ADMIN - STUDIO - MONITOR - PACKER - AGRO - STOCK - LONGHAUL - CLUSTER - CARGOTIMETABLE example: UNIVERSAL method_group: description: 'Method group name. Uniqueness of points is considered within one group. ' type: string enum: - NOTRACE - TRACE - PLAN - ACTUALIZE - REFINE - CONVERT - ANALYTICS - PREDICT - VALIDATE - ROUTE - MATRIX - PACK example: PLAN method_statistics: description: Usage statistics of the service method. type: object additionalProperties: false properties: method_group: $ref: '#/components/schemas/method_group' unique_points_per_day: description: Unique points per day. type: integer format: int32 minimum: 0 maximum: 10000000 example: 1500 points_per_day: description: Non-unique points per day. type: integer format: int32 minimum: 0 maximum: 10000000 example: 1500 required: - method_group - unique_points_per_day - points_per_day service_statistics: description: Usage statistics of all service methods. type: object additionalProperties: false properties: service: $ref: '#/components/schemas/service_name' methods: description: Usage statistics list of the specified service methods. type: array minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/method_statistics' required: - service - methods 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: '2024-02-05' services: description: Statistics list for each service on the specified date. type: array minItems: 0 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_name' 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 operation_id: description: Operation identifier. type: string minLength: 3 maxLength: 256 example: run_plan_calculation tracedata: description: Data for request tracing. type: object additionalProperties: false properties: code: description: 'Unique process identifier. If an asynchronous process is running, then the code for it will be the same, although other fields may differ. ' type: string format: uuid example: 11111111-2222-3333-4444-555555555555 client: description: 'The unique identifier of the client (`company_key` + `_|_` + `username`) that made the request. ' type: string pattern: \w+ minLength: 2 maxLength: 256 example: company_|_username server: description: Server identifier. type: string pattern: \w+ minLength: 2 maxLength: 256 example: server_name service: $ref: '#/components/schemas/service_name' operation: $ref: '#/components/schemas/operation_id' 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: '2024-02-21T09:30:00+03:00' required: - code - client - server - service - operation - time 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 required: - tracedata general_401: description: 401 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error details. type: string nullable: true example: Unauthorized 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_id: description: Resource identifier. type: string nullable: true default: null example: resource_id 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 file_xlsx: description: File with data in [XLSX](https://en.wikipedia.org/wiki/Microsoft_Excel) format. type: string format: byte method_quota: description: 'Quota for the service method group. If any of the quotas are exceeded, the request is not returned with the quota exceeded error. ' type: object additionalProperties: false properties: method_group: $ref: '#/components/schemas/method_group' points_per_request: description: Maximum number of non-unique points per request. type: integer format: int32 minimum: 0 maximum: 1000000 example: 15 points_per_day: description: Maximum number of non-unique points per request per day. type: integer format: int32 minimum: 0 maximum: 100000000 example: 1500 points_per_date_window: description: "The maximum total number of non-unique points for the specified\ \ time period, multiple of a day. If the time period equals to a day,\ \ this parameter is not taken into account, since it is responsible for\ \ one day \n" type: integer format: int32 nullable: true default: null minimum: 0 maximum: 100000000 example: 1500 max_concurrent_execution: description: 'The maximum total number of concurrent method execution. ' type: integer format: int32 nullable: true default: null minimum: 0 maximum: 1000 example: 5 required: - method_group - points_per_request - points_per_day service_quota: description: Service quota. type: object additionalProperties: false properties: service: $ref: '#/components/schemas/service_name' methods: description: List of quotas for a group of methods. type: array minItems: 1 maxItems: 100 items: $ref: '#/components/schemas/method_quota' required: - service - methods quota_base: description: All services quota. type: object additionalProperties: false properties: services: description: All services quota list. type: array uniqueItems: true minItems: 1 maxItems: 100 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 company_key: description: Company key. type: string pattern: \w+ minLength: 3 maxLength: 256 example: my_company 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: P1Y1M1DT2H12M34.3S audit_action_statistics: description: 'Detail user action statistics. ' type: object additionalProperties: false properties: points_count: description: Non-unique points per request. type: integer format: int32 minimum: 0 maximum: 10000000 default: 0 example: 1500 duration: description: The duration of the operation - does not include the time of data exchange with the server. $ref: '#/components/schemas/time_duration' audit_action: description: User action. type: object additionalProperties: false properties: username: $ref: '#/components/schemas/user_name' company_key: $ref: '#/components/schemas/company_key' tracedata: $ref: '#/components/schemas/tracedata' method_group: $ref: '#/components/schemas/method_group' statistics: $ref: '#/components/schemas/audit_action_statistics' required: - username - company_key - tracedata - method_group - statistics audit_stats_detail: description: Detail statistics 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_stats: description: Statistics by records list. type: object additionalProperties: false properties: overall: $ref: '#/components/schemas/audit_stats_detail' filter: $ref: '#/components/schemas/audit_stats_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' statistics: $ref: '#/components/schemas/audit_stats' required: - actions - statistics company: description: Company. type: object additionalProperties: false properties: key: description: Unique company key. type: string pattern: \w+ minLength: 3 maxLength: 256 example: my_company detail: description: Company detail. type: string nullable: true default: null minLength: 0 maxLength: 1024 required: - key company_list_stats_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_stats: description: Statistics by company list. type: object additionalProperties: false properties: overall: $ref: '#/components/schemas/company_list_stats_detail' description: General statistics, does not depend on the filter. filter: $ref: '#/components/schemas/company_list_stats_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' statistics: $ref: '#/components/schemas/company_list_stats' required: - companies - statistics user_groups: description: Users logic groups. type: string enum: - TOTAL - ACTIVE - BLOCKED - ADMINS default: TOTAL example: ACTIVE user_role: description: Role. type: string enum: - ADMIN - PARTNER - USER - BOT example: USER user_roles: description: List of user roles. type: array uniqueItems: true minItems: 0 maxItems: 2 default: [] items: $ref: '#/components/schemas/user_role' user: description: User. type: object additionalProperties: false properties: username: $ref: '#/components/schemas/user_name' password: description: Password. type: string nullable: true default: null format: password minLength: 5 maxLength: 256 example: my_password writeOnly: true name: description: Full name of user. type: string nullable: true default: null minLength: 2 maxLength: 256 example: my_visible_name email: description: User mail address. type: string format: email nullable: true default: null minLength: 5 maxLength: 256 example: admin@company.com phone: description: User phone. type: string nullable: true default: null minLength: 5 maxLength: 32 example: '+71112223333' company_key: $ref: '#/components/schemas/company_key' enabled: description: User status. type: boolean default: true example: true roles: $ref: '#/components/schemas/user_roles' timezone: description: Basic time zone used for statistics. type: integer format: int32 minimum: -12 maximum: 12 default: 0 example: 3 required: - username - company_key - roles user_list_stats_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_stats: description: Statistics by users list. type: object additionalProperties: false properties: overall: $ref: '#/components/schemas/user_list_stats_detail' description: General statistics, does not depend on the filter. filter: $ref: '#/components/schemas/user_list_stats_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' statistics: $ref: '#/components/schemas/user_list_stats' required: - users - statistics flow_type: description: Data flow type. type: string enum: - INPUT - OUTPUT default: INPUT example: OUTPUT flow_convert: description: Data result convert. type: string deprecated: true enum: - ORIGIN - JSON - XLSX default: ORIGIN example: JSON check_result: description: Service availability result. type: object additionalProperties: false properties: health: description: 'Current health. ' 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: 4 minor: description: '服务的小版本。 版本更改表示新功能。 该更新向后兼容服务的主要版本。 ' type: integer format: int32 minimum: 0 maximum: 111 example: 4 build: description: '构建版本。 包含向后兼容的错误修复和文档更新。 ' type: string minLength: 1 maxLength: 64 example: 1754RC 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 parameters: username: name: username description: Login, unique identifier. in: query required: false schema: $ref: '#/components/schemas/user_name' 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: '2024-02-22' date_to: name: to description: Date 'to' in the YYYY-MM-DD format. in: query required: false schema: description: Date 'to' in the YYYY-MM-DD format. type: string format: date example: '2024-02-22' offset: name: offset description: The number of items to skip before starting to collect the result set. in: query 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 required: false limit: name: limit description: The number of items to return. in: query schema: description: The number of items to return. type: integer format: int32 minimum: 1 maximum: 10000000 default: 100 example: 10 required: false 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: '2024-02-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: '2024-02-21T18:00:00+03:00' company_key: name: company_key description: Company key. in: query required: false schema: $ref: '#/components/schemas/company_key' 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 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 tracecode: name: tracecode description: Unique process identifier. in: path required: true schema: description: Unique process identifier. type: string format: uuid example: 11111111-2222-3333-4444-555555555555 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. type: integer format: int32 minimum: 0 maximum: 3 default: 0 example: 1 data_flow_convert: name: data_flow_convert description: Data result convert. in: query required: false schema: $ref: '#/components/schemas/flow_convert' 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 - token missing or invalid ' content: application/json: schema: $ref: '#/components/schemas/general_401' '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