openapi: 3.0.3 info: title: VRt.Admin [AD] version: 7.9.2527 license: name: Proprietary url: https://veeroute.com/ termsOfService: https://veeroute.com/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: Environment for integration and early access to the new features - url: https://api.prod7.veeroute.cloud description: Production environment 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: 'System functions. Auxiliary functionality common to all services. ' externalDocs: description: Veeroute company website url: https://veeroute.com/ 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). Empty service and process type fields mean returning statistics for all services and process types. ' operationId: generate_statistics parameters: - $ref: '#/components/parameters/username' - $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' '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 parameters: - $ref: '#/components/parameters/username' - $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}: parameters: - $ref: '#/components/parameters/username-2' post: tags: - Quotas summary: Setting the quotas description: Setting the quotas for the user. operationId: update_quota 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: - 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/company_key' - $ref: '#/components/parameters/username' - $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/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/{company_key}: parameters: - $ref: '#/components/parameters/company_key-2' 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: - $ref: '#/components/parameters/username-2' 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/{process_code}: get: tags: - Data summary: Reading input data description: Receiving an incoming request by `tracedata.process_code`. operationId: read_data 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/system/check: get: tags: - System summary: Checking the availability description: Checking the service availability. 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: Getting the service version description: Getting the service version. 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: Getting the documentation description: Getting the file with this service documentation. 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: "For client [authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication)\ \ \n[JWT token](https://en.wikipedia.org/wiki/JSON_Web_Token) is used,\nwhich\ \ must be specified in the header for each request in the format:\n\n`Authorization:\ \ Bearer `.\n\nToken can be obtained via VRt.Account API.\n" type: http scheme: bearer bearerFormat: JWT schemas: 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 process_type: description: 'Process type. Uniqueness of points is considered within one type. ' type: string enum: - NOTRACE - TRACE - PLAN - ACTUALIZE - CONVERT - VALIDATE - ROUTE - MATRIX example: PLAN 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: '2024-11-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 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 company_key: description: Unique company key. type: string pattern: \w+ minLength: 3 maxLength: 256 example: smart_company operation: description: Operation (request) name. type: string 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: '2024-11-21T09:30:00+03:00' required: - process_code - request_code - username - company - service - operation - env - pod - time general_400: description: 400 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error message. type: string nullable: true example: Bad Request required: - tracedata general_402: description: 402 Error details. type: object additionalProperties: false properties: tracedata: $ref: '#/components/schemas/tracedata' message: description: Error message. 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 message. 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 Message. 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 message. 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 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 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: '2024-11-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 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 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: attribute_name 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: '2024-11-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: '2024-11-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 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 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: Service version. type: object additionalProperties: false properties: major: description: 'Product version. Within a single version, compatibility of common data structures between services is guaranteed. A version change indicates changes that are incompatible with previous versions of the product (and all services). ' type: integer format: int32 minimum: 1 maximum: 100 example: 7 minor: description: 'Minor version of the service. A version change indicates new functionality. The update is backward compatible with the major version of the service. ' type: integer format: int32 minimum: 0 maximum: 111 example: 5 build: description: "Build version. \nContains backwards compatible bug fixes\ \ and docs update.\n" 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 parameters: username: name: username description: Parameter (query) with username. in: query required: false schema: $ref: '#/components/schemas/user_username' 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-11-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: '2024-11-26' service: name: service description: Service name. in: query required: false schema: $ref: '#/components/schemas/service' process_type: name: process_type description: Process type. in: query required: false schema: $ref: '#/components/schemas/process_type' username-2: name: username description: Parameter (path) with username. in: path required: true schema: $ref: '#/components/schemas/user_username' company_key: name: company_key description: Parameter (query) with company key. in: query required: false schema: $ref: '#/components/schemas/company_key' 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 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: '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. ' type: string format: date-time example: '2024-11-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-11-21T18:00:00+03:00' operation: name: operation description: Operation name. in: query required: false schema: $ref: '#/components/schemas/operation' status: name: status description: Process status. in: query required: false schema: $ref: '#/components/schemas/calculation_status' 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 company_key-2: name: company_key description: Parameter (path) with company key. in: path required: true schema: $ref: '#/components/schemas/company_key' process_code: name: process_code description: Unique process identifier. 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 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