Analysis API endpoints
Use the Analysis API endpoints to manage the Analysis service. Before you run an endpoint, make sure that you authenticate the API request.
Execute analysis for real time scenarios
openapi: 3.0.3 components: schemas: AboutInfo: title: About info type: object properties: api_versions: type: array items: type: string example: - 1 version: type: string example: 1 component: type: string example: analysis-service product: type: string example: TrueSight Helix Capacity Optimization Type: type: string description: The type of analysis to be executed enum: - PLOT - MODEL - CORRELATION example: PLOT ExtractDetails: type: string description: >- Additional detailed information to be included in the results (e.g. entities) enum: - ENTITIES - ENTITY_RELATIONS - INDICATOR_METADATA example: ENTITIES StructureId: description: The structure id of the entities involved in the formula type: string enum: - SYS - WKLD - APP example: SYS FormulaFilter: type: object description: >- A filter for resources. If not defined, related resources will not be retrieved. properties: entity_types: type: array description: The list of entity types items: type: string pattern: '^(sys|wkld|app):[a-z:]+[a-z]$' example: - 'sys:gm:vmw' - 'wkld:web' resources: type: array description: The list of resources the formula is based on items: type: object required: - metric_name properties: metric_name: description: The name of the resource metric type: string example: CPU_UTIL resource_name: description: The name of the resource type: string example: GLOBAL statistic: description: The statistic to be used for the metric type: string example: AVG Formula: title: Formula type: object required: - name - structure_id - label - value_type - unit - definition properties: name: description: The name that identifies the formula type: string pattern: '^F_[A-Z_]+[A-Z]$' example: F_CPU_UTILMHZ label: description: The formula name to be dispayed in UIs type: string example: CPU Utilization in MHz definition: description: The formula textual definition type: string example: (Target.CPU_NUM * Target.CPU_MHZ * Target.CPU_UTIL) unit: description: The unit of the resulting series type: string example: '%' structure_id: $ref: '#/components/schemas/StructureId' value_type: description: The value type of the resulting series type: string enum: - GENERIC - PERCENTAGE - COUNT - RATE - POSACCUM - NEGACCUM - ELAPSED - WEIGHTED_GENERIC - PEAK_PERCENTAGE - PEAK_RATE - DELTA - WEIGHTED_PERCENTAGE - PEAK - HIGHMARK example: RATE targets: $ref: '#/components/schemas/FormulaFilter' children: $ref: '#/components/schemas/FormulaFilter' parents: $ref: '#/components/schemas/FormulaFilter' AnalysisExecutionRequest: title: Execution request type: object required: - type properties: type: $ref: '#/components/schemas/Type' id: description: The id of the plot/model type: integer example: 123 template_id: description: The id of plot/model template from which to extract base properties type: integer example: 123 properties: description: >- Set of properties that override template properties (aggregation, plot or model properties) type: object additionalProperties: type: string example: aggregation.idstring: PTA_%RESID%PCTA_%RESID%LTA_%RESID%LCTA_%RESID% aggregation.timeclass: '%AUTORESOLUTION%' aggregation.grouping.mask: '1111' aggregation.postaggr.empty.chart: 'true' aggregation.sysid.in: '2115753' aggregation.lastex: D30 plot.title: CPU Utilization plot.tsps.selectable: 'true' plot.rightaxis.title: '%UNIT%' plot.Yaxis.title: '%' plot.chart.by: ALL-NOTVALTYPE plot.type: 'CHART:TIME:LINE' plot.series.sort: VALUE_DESC plot.interaction.csv: 'true' plot.series.label: '%OBJNAME%' reference_date: description: >- The execution date expressed in ISO 8601 format. Used only in multivariate analyses. type: string example: '2020-03-31T15:19:47Z' extract_details: description: >- A list of additional information to be extract and returned in the results type: array items: $ref: '#/components/schemas/ExtractDetails' formulas: description: >- Custom formulas can be defined here and referenced in the analysis by using the formula name (e.g. F_CPU_UTILMHZ) as the resource metric name type: array items: $ref: '#/components/schemas/Formula' Axis: title: Axis type: object properties: max_y: type: number example: 23.6 min_y: type: number example: 1.6 max_y_right: type: number example: 23.6 min_y_right: type: number example: 1.6 requested_max_x: description: >- The requested maximum value for the x axis. Depending on the x axis unit, it can be a number (formatted as a string) or a date expressed in ISO 8601 format. type: string example: 2020-03-31T15:19:47.000Z requested_min_x: description: >- The requested minimum value for the x axis. Depending on the x axis unit, it can be a number (formatted as a string) or a date expressed in ISO 8601 format. type: string example: 2020-03-31T15:19:47.000Z time_res_min_in_seconds: type: integer example: 3600 Series: title: Series type: object properties: name: type: string example: S1 series_id: type: string example: CPU_UTIL|opt|12345|GLOBAL|GLOBAL metric: type: string example: TOTAL_FS_UTIL label: type: string example: Total File Systems Utilization % subobject: type: string example: GLOBAL unit: type: string example: PCT datatype: type: string example: NUMBER statistic: type: string example: avgvalue input_statistic: type: string example: avg meaning: type: string enum: - CATEGORY - TS - METRIC - RANGE - FORECAST - PREDICTION_BAND_UPPER - PREDICTION_BAND_LOWER - GOOD_THRESHOLD - WARN_THRESHOLD - SPEC_THRESHOLD example: METRIC entity_id: type: integer example: 61055 structure_id: type: string example: SYS related_to: description: >- Some series can represent additional data (like forecasts or upper/lower bands) with respect to the main series they are related to. If this field is set, it means the series is a "secondary" series, and the values is the name of the name series. type: string example: S2 rendering_options: type: object additionalProperties: type: object example: linetype: LINE linecolor: '#0069a5' metadata: description: Set of metadata associated to an indicator type: object additionalProperties: type: string indicator_subobject: type: string example: CPU indicator_period: type: string example: D30 roll_period: type: string example: 30 Labels: title: Labels type: object properties: title: type: string example: File System Utilization subtitle: type: string example: By Host xaxis: type: string example: time yaxis: type: string example: '%' yaxis_right: type: string example: '%' Guide: title: Guide type: object properties: axis: type: string example: 5151 value: type: object example: Power loss tovalue: type: object fillcolor: type: string linestyle: type: integer Event: title: Event type: object properties: id: type: integer example: 5151 title: type: string example: Power loss ts: description: Timestamp expressed in ISO 8601 format. type: string example: '2020-03-31T00:00:00Z' resolutionts: description: Resolution timestamp expressed in ISO 8601 format. type: string example: '2020-03-31T00:00:00Z' event_type_id: type: integer example: 1 event_type_title: type: string example: NOT_PLANNED.INCIDENT event_type_color: type: string example: '#FF0000' Entity: title: Entity type: object properties: entity_id: description: identifier of the entity type: integer example: 5151 entity_name: description: name of the entity type: string example: vl-pun-qa-01 type: description: type of the entty type: string example: 'sys:gm:vmw' type_name: description: human readable name of the entity type type: string example: Virtual Machine - VMware description: description: description of the entity type: string example: entity description EntitiesRelation: title: Parentship relation between two entities (parent and child) type: object properties: parent_entity_id: description: identifier of the entity type: integer example: 5151 child_entity_id: description: identifier of the entity type: integer example: 5152 Details: title: Additional details in the analysis result type: object properties: entities: type: array items: $ref: '#/components/schemas/Entity' entity_relations: type: array items: $ref: '#/components/schemas/EntitiesRelation' ChartResults: title: Chart results type: object properties: analysis_type: type: string enum: - TIME_ANALYSIS - PROCESS_ANALYSIS - SUMMARY_ANALYSIS - FREQUENCY_ANALYSIS - AGENT_ANALYSIS - CATEGORY_ANALYSIS - CORRELATION_ANALYSIS example: TIME_ANALYSIS axis: $ref: '#/components/schemas/Axis' datafields: type: array items: $ref: '#/components/schemas/Series' labels: $ref: '#/components/schemas/Labels' properties: type: object additionalProperties: type: string example: plot.title: File System Utilization aggregation.cust.filter.acgroupidset: '0,7' guides: type: array items: $ref: '#/components/schemas/Guide' data: type: array description: >- The timeseries samples, grouped and ordered by timestamp. The timestamp is in ISO 8601 format and is already offset by the default/requested timezone, whilst the values (S1, S2, ...) are decimal numbers. items: type: object additionalProperties: type: object example: ts: '2020-03-31T00:00:00Z' S1: 62.153 S2: 12.839 S3: 32.647 events: type: array items: $ref: '#/components/schemas/Event' details: $ref: '#/components/schemas/Details' warnings: description: List of warning related to analysis execution type: array items: type: string example: - OPT_ANALYSIS_WARN_1 ApiError: type: object required: - code - message properties: code: type: string message: type: string transient: type: boolean title: ApiError description: representation of an error message AnalysisExecutionAsyncRequest: allOf: - $ref: '#/components/schemas/AnalysisExecutionRequest' - title: Execution async request properties: dimension: type: string description: Determines the plot size enum: - DEFAULT - PREVIEWER - PDFREPORT - CUSTOM_SIZE - DEFAULT_DOUBLED - DASHBOARD_BIG - DASHBOARD_SMALL - DASHBOARD_MEDIUM - DASHBOARD_WIDE - DASHBOARD_MAXIMIZE example: DASHBOARD_WIDE session_id: description: >- A unique string that can be related to a user session. Used by console to allow multiple users executing together the same analysis without overwriting results each other. type: string example: 75u5yhrtgr435trw tag: type: string description: >- External reference for one or more execution. Does not need to be unique. Can be used to kill all executions. example: task-34 persist_execution_status: type: boolean description: >- Flag to enable or disable the update of the execution info of the analysis/model in the database. Defaults to true. example: true AnalysisAsyncResponse: title: Analysis asynchronus execution response type: object properties: execution_id: type: string example: PLOT_1234_1853cc07-a228-4310-8cc6-2b4584f841b4 status_href: type: string example: >- /opt/api/v1/analysis/executions/PLOT_1234_1853cc07-a228-4310-8cc6-2b4584f841b4 execution_was_already_enqueued: type: boolean description: >- Tells if there was already an execution requested by the user which has not yet completed and has the same id and properties. Therefore, the new request has been discarded and the execution_id is the one of the previous request. example: false ExecutionResponse: title: Analysis status response type: object properties: user: description: User associated to the analysis execution type: string example: alan@coke execution_id: description: Id of the analysis execution type: string example: PLOT_1234_1853cc07-a228-4310-8cc6-2b4584f841b4 execution_progress: description: Progress of the analysis execution type: number format: double example: 0.35 execution_status: description: Status of the analysis execution. type: string enum: - RUNNING - ENQUEUED - COMPLETED - ERROR - KILL_REQUESTED - KILLED - TIMEOUT example: RUNNING last_chart_repo_path: type: string description: >- The path in the repository of the last generated chart XML model. For plots without id (aka quick analyses) only one chart is generated, so this path points to the analysis results. example: >- plot/312f30e7-28a2-4b7a-8c8a-cecff9894a19/PLOT_3498534903489304_1.xml type: $ref: '#/components/schemas/Type' id: description: The id of the plot type: integer example: 123 tag: type: string description: >- External reference for one or more analysis execution. Does not need to be unique. Can be used to kill all executions. example: task-34 session_id: description: >- A unique string that can be related to a user session. Used by console to allow multiple users executing together the same analysis without overwriting results each other. type: string example: 75u5yhrtgr435trw warnings: description: List of warning related to analysis execution type: array items: type: string example: - OPT_ANALYSIS_WARN_1 KillResponse: title: Analysis kill response type: object properties: execution_id: description: Id of the analysis execution type: string message: description: info message type: string ExecutionsResponse: title: Executions status response type: object properties: executions: type: array items: $ref: '#/components/schemas/ExecutionResponse' ExecutionCancelResponse: title: List of execution ids that has been cancelled type: object properties: cancelled_execution_ids: description: list of execution ids that has been cancelled type: array items: type: string ExecutionType: type: string description: The type of execution enum: - PLOT - MODEL example: PLOT ModelExecutionSummary: title: ModelExecutionSummary type: object description: 'For models, summary data related to the latest execution' properties: model_type: description: The model type type: string enum: - FORECAST - EXTRAPOLATION discriminator: propertyName: model_type mapping: FORECAST: '#/components/schemas/ForecastModelExecutionSummary' EXTRAPOLATION: '#/components/schemas/ExtrapolationModelExecutionSummary' ForecastSummaryRow: title: ForecastSummaryRow type: object properties: entity_id: type: integer example: 61055 entity_name: type: string example: vl-pun-bcm-dv03 metric: type: string example: CPU_UTIL forecast_reliability: type: string enum: - HIGH - MEDIUM - LOW example: HIGH forecast_end: type: string example: '2020-03-31T15:19:47Z' value_at_end: type: number format: double example: 90.71 forecasted_peak_value: type: number format: double example: 90.72 rmse: type: number format: double example: 0.25 saturation_date: type: string description: The saturation date expressed in ISO 8601 format. example: '2020-03-31T15:19:47Z' threshold: type: number format: double example: 85 unit: type: string example: '%' threshold_violation: type: string enum: - 'TRUE' - 'FALSE' - ALMOST example: true chart_href: description: URL to use to get chart data related to this forecast type: string example: /opt/api/v1/analysis/results/MODEL/15/chart/1 ForecastModelExecutionSummary: allOf: - $ref: '#/components/schemas/ModelExecutionSummary' - title: ForecastModelExecutionSummary type: object properties: summary: type: array description: >- For forecast models, summary data related to the latest execution items: $ref: '#/components/schemas/ForecastSummaryRow' ExtrapolationSummaryRow: title: ExtrapolationSummaryRow type: object properties: x: type: object description: >- Metric/business driver representing the X dimension of a pair of correlated variables properties: metric: type: string example: Total events entity_name: type: string example: Orders received entity_id: type: integer example: 61055 ys: type: array description: >- Metrics/business drivers representing the Y dimensions correlated with the related X. items: type: object description: >- Metric/business driver representing the Y dimension of a pair of correlated variables properties: metric: type: string example: CPU Utilization entity_name: type: string example: bea_backend entity_id: type: integer example: 25479 capacity: description: >- The value of the X metric/business driver beyon which the corresponding Y metric/business driver will exceed the saturation threshold type: string example: '>2543.65' chart_href: description: URL to use to get chart data related to this extrapolation type: string example: /opt/api/v1/analysis/results/MODEL/15/chart/1 ExtrapolationModelExecutionSummary: allOf: - $ref: '#/components/schemas/ModelExecutionSummary' - title: ExtrapolationModelExecutionSummary type: object properties: summary: type: array description: >- For extrapolation models, summary data related to the latest execution items: $ref: '#/components/schemas/ExtrapolationSummaryRow' ExecutionResults: title: Execution results type: object properties: id: type: integer description: The id of the plot example: 13834 name: type: string description: The analysis name example: CPU Utilization by Application description: type: string description: A textual description of the analysis example: Shows BYAPP_CPU_UTIL metrics for each system number_of_charts: type: integer description: Number of chart assets generated by the execution example: 5 last_run_timestamp: type: string description: The timestamp in ISO 8601 format when the analysis was last executed example: '2020-06-01T00:00:00Z' last_chart_repo_path: type: string description: The path in the repository of the last generated chart XML model. example: >- plot/312f30e7-28a2-4b7a-8c8a-cecff9894a19/PLOT_3498534903489304_1.xml execution_summary: $ref: '#/components/schemas/ModelExecutionSummary' ComposedEntityFilterOperator: type: string enum: - AND - OR description: >- The operator to use to merge composed entity filter results. Defaults to "OR". example: AND EntityFilterResponse: title: EntityFilterResponse type: object properties: entity_ids: type: object properties: sys: type: array description: The resolved system ids. items: type: integer example: - 2345 - 7654 wkld: type: array description: The resolved workload ids. items: type: integer example: - 3456 - 8765 app: type: array description: The resolved domains ids. items: type: integer example: - 3456 - 8765 EntityFilterRequest: title: EntityFilterRequest type: object required: - type properties: type: type: string description: >- Whether the entity filter resolution approach should be based only on the containment relationship among entities (TREE) or on a custom search query (SEARCH) enum: - TREE - SEARCH example: TREE search_query: type: string description: >- The search string to determine the filtering when selected type is SEARCH. example: (database* OR "web service") AND billing entity_ids: type: object description: >- Ids of entities to include in the filter. Either domains and entities directly can be added. Domains will be scanned and contained entities will be returned. When type is SEARCH, leave this empty to search through all domains. properties: app: type: array items: type: integer example: - 456 sys: type: array items: type: integer example: - 456 wkld: type: array items: type: integer example: - 789 app_recursive: type: boolean description: >- Whether it should recursively scan domains included in selected domains. example: false optimizer_rule_filter: description: >- Filter entities based on their alert status determined by related Optimizer rules. type: object properties: alert_status: description: Keep only entities with these alert status type: array items: type: string enum: - OK - WARNING - CRITICAL - EFFICIENCY_LOW - EFFICIENCY_MEDIUM - EFFICIENTY_HIGH example: - WARNING - CRITICAL rule_id: description: >- Keep only entities with alerts generated by the Optimizer rule having this id type: integer example: 6 rule_type: description: >- Keep only entities with alerts generated by an Optimizer rule having this type type: string enum: - NO_RECOMMENDATION - FORECASTED_SATURATION - IDLE_VM - OVERALLOCATED_VM - CLUSTER_OVERSUBSCRIPTION - CLUSTER_UNDERSUBSCRIPTION - OLD_SNAPSHOTS - GENERIC - RESERVED_INSTANCES example: IDLE_VM ThresholdExtractionRequest: title: ThresholdExtractionRequest type: object required: - entity_ids - metrics properties: entity_ids: type: array minItems: 1 items: type: integer format: int64 example: - 1 - 2 description: The entity ids to extract thresholds for. metrics: type: array minItems: 1 items: type: string example: - CPU_UTIL - CPU_NUM description: The metrics to extract thresholds for. Threshold: type: object description: Name of the metric for which the threshold is defined. properties: good_percentage_value: type: number description: Good threshold value in percentage. example: 75 warn_percentage_value: type: number description: Warning threshold value in percentage. example: 85 good_absolute_value: type: number description: Good threshold value in numbers. example: 750 warn_absolute_value: type: number description: Warning threshold value in numbers. example: 850 limiting_res: type: string description: Metric on which the threshold is based. example: CPU_MHZ EntityThresholds: type: object properties: entity_id: type: integer format: int64 description: The resolved entity ids. example: 123456789 thresholds: type: object description: The resolved thresholds and contains metric name as a key. additionalProperties: $ref: '#/components/schemas/Threshold' ThresholdExtractionResponse: title: Threshold Extraction Response type: array items: $ref: '#/components/schemas/EntityThresholds' TimeFilterRequest: title: TimeFilterRequest type: object required: - type properties: filter_type: type: string enum: - GLOBAL - LASTEX description: 'Determine what to use, the global_filter_id or lastex parameter' example: LASTEX global_filter_id: type: string description: The id of the global time filter in case of filter_type is "GLOBAL". example: 100 lastex: type: string description: The lastex value to resolve in case of filter_type is "LASTEX". example: D30+ TimeFilterResponse: title: TimeFilterResponse type: object properties: since: type: string description: Start timestamp expressed in ISO 8601 format. example: '2020-03-31T00:00:00Z' to: type: string description: Start timestamp expressed in ISO 8601 format. example: '2020-06-31T00:00:00Z' CorrelationRequest: title: Correlation execution request type: object required: - type properties: id: description: The id of the plot type: integer example: 123 properties: description: >- Set of properties that override template properties (aggregation and plot properties) type: object additionalProperties: type: string example: aggregation.objmapfill.x1objname.in: 'CPU_UTIL|opt:meas|22|GLOBAL|GLOBAL' aggregation.objmapfill.x2objname.in: 'MEM_UTIL|opt:meas|39|GLOBAL|GLOBAL' CorrelationCoefficientValue: title: Correlation coefficient value type: object properties: unit: type: string example: 123 value: type: number example: 1.2 confidence: type: array items: type: number CorrelationCoefficient: title: Correlation coefficient type: object properties: values: type: array items: $ref: '#/components/schemas/CorrelationCoefficientValue' CorrelationResults: title: Correlation results type: object properties: targets: type: array items: type: string features: type: array items: type: string correlation: $ref: '#/components/schemas/CorrelationCoefficient' intercept: $ref: '#/components/schemas/CorrelationCoefficient' service_demand: $ref: '#/components/schemas/CorrelationCoefficient' partitioning: $ref: '#/components/schemas/CorrelationCoefficient' residual: $ref: '#/components/schemas/CorrelationCoefficient' slope: $ref: '#/components/schemas/CorrelationCoefficient' samples_size: $ref: '#/components/schemas/CorrelationCoefficient' properties: type: object additionalProperties: type: string example: plot.title: File System Utilization aggregation.cust.filter.acgroupidset: '0,7' warnings: description: List of warning related to analysis execution type: array items: type: string example: - OPT_ANALYSIS_WARN_1 QNetworkModelRequest: title: QNetworkModelRequest type: object properties: average_demands: type: boolean description: Determines the demand confidence during the model topology creation example: true bound_limit: type: string description: The estimation bound limit parameter example: average enum: - optimistic - average - pessimistic aggr_id: type: string description: The aggregation id property example: 5 required_metrics: type: array description: The list of metrics needed by the QN model items: type: string description: The metric required example: CPU_UTIL QNetworkModelResponse: title: QNetworkModelResponse type: object properties: model_property_map: type: object description: The Queueing Network Model property map additionalProperties: type: string model_changes: type: object description: The Queueing Network Model changes reported by model estimation additionalProperties: type: string responses: BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/ApiError' InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' tags: - name: Analysis description: Run analyses and check their status - name: About description: The status of the service - name: Executions description: Get execution status of asynchronous requests - name: Results description: Get details and assets produced by asynchronous executions - name: Entity Filter description: Resolve entity filters and get related entity ids - name: Threshold description: Extract thresholds for entites and metrics - name: Queueing Network Model description: Create Queueing Network model properties - name: Time Filter description: Resolve time filters paths: /opt/api/analysis/about: get: summary: About info description: About info operationId: about security: [] tags: - About responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AboutInfo' deprecated: false /opt/api/v1/analysis/execute: post: summary: Execute analysis description: Executes an analysis and returns results synchronously operationId: executeAnalysis tags: - Analysis requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AnalysisExecutionRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ChartResults' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/execute_real_time: post: summary: Execute analysis for real time scenarios (user requests) description: >- Executes an analysis and returns results synchronously. Used for real time scenarios (user requests) operationId: executeAnalysisRealTime tags: - Analysis requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AnalysisExecutionRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ChartResults' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/execute_real_time/grafana_support: post: summary: Execute analysis for real time scenarios (user requests) supporting Grafana requirements description: >- Executes an analysis and returns results synchronously. Used for real time scenarios (user requests) supporting the Grafana requirements to utilize the results, response will contain same length of data points for all series. missing values will be marked with NaN. operationId: executeAnalysisRealTimeWithGapsFill tags: - Analysis requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AnalysisExecutionRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ChartResults' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/execute_async: post: summary: Execute analysis asynchronously description: Executes an analysis asynchronously operationId: executeAnalysisAsync tags: - Analysis requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AnalysisExecutionAsyncRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/AnalysisAsyncResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/analysis/executions/{execution_id}': get: summary: Retrieve the status of an analysis execution description: Retrieve the status of an analysis execution operationId: getExecutionById tags: - Executions parameters: - name: execution_id in: path description: Id of the analysis execution required: true schema: type: string pattern: '^[\w-]+$' responses: '200': description: The details of the requested execution content: application/json: schema: $ref: '#/components/schemas/ExecutionResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Cancel the analysis execution by execution id description: Kill (if running) or cancel the analysis execution by execution id operationId: cancelExecutionById tags: - Executions parameters: - name: execution_id in: path description: Id of the analysis execution required: true schema: type: string responses: '202': description: kill request accepted content: application/json: schema: $ref: '#/components/schemas/KillResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/BadRequest' '410': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/executions: get: summary: Retrieve recent execution results description: Retrieve recent execution results for the current user operationId: getExecutions tags: - Executions parameters: - name: all in: query description: >- If true and the user has admin rights, it returns recent execution results for all users schema: type: boolean responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ExecutionsResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/analysis/executions/tag/{external_group_id}': get: summary: Retrieve the list of all executions with a specific tag description: Retrieve the list of all executions with a specific tag operationId: getExecutionsByTag tags: - Executions parameters: - name: external_group_id in: path description: tag group id required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ExecutionsResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: summary: Cancel all the executions with a specific tag description: >- Kill (if running) or cancel the execution of all the executions with a specific tag operationId: cancelExecutionsByTag tags: - Executions parameters: - name: external_group_id in: path description: tag group id required: true schema: type: string responses: '202': description: Cancellation request accepted content: application/json: schema: $ref: '#/components/schemas/ExecutionCancelResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/analysis/results/{type}/{id}': get: summary: Retrieve execution details description: Retrieve the details of the analysis/model with the selected plot id operationId: getResults tags: - Results parameters: - name: type in: path required: true schema: $ref: '#/components/schemas/ExecutionType' - name: id in: path required: true schema: type: integer description: The id of the plot or model example: 13834 - name: session_id in: query description: >- The session id is used to avoid concurrent modification for multiple executions for the same analysis. Pass the session id to retrieve execution results related to a specific user session. Without session id, results produced by the latest execution overall will be returned. schema: type: string example: 312f30e7-28a2-4b7a-8c8a-cecff9894a19 responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ExecutionResults' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/analysis/results/{type}/{id}/chart/{chart_id}': get: summary: Retrieve chart details description: Retrieve chart details operationId: getResultsByChart tags: - Results parameters: - name: type in: path required: true schema: $ref: '#/components/schemas/ExecutionType' - name: id in: path description: The id of analysis or model required: true schema: type: integer - name: chart_id in: path description: The id of the chart required: true schema: type: integer - name: session_id in: query description: id of session schema: type: string responses: '200': description: The details of the requested result content: application/json: schema: $ref: '#/components/schemas/ChartResults' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/analysis/entity_filter/{id}': get: summary: Resolve entity filter description: >- Resolves an existing entity filter and returns the list of corresponding entities. operationId: resolveEntityFilter tags: - Entity Filter parameters: - name: id in: path required: true schema: type: string description: >- The id of the entity filter. Can be a single id or a composition of ids (111,222,333). example: 13 - name: operator in: query required: false schema: $ref: '#/components/schemas/ComposedEntityFilterOperator' - name: current_app_id in: query required: false schema: type: integer description: The id of the current domain example: 13 - name: last_activity_since in: query required: false schema: type: string description: >- Filter entities based on metrics last activity timestamp, expressed in ISO 8601 format. example: 2020-01-01T00:15:00.000Z - name: include_administrative_domains in: query required: false schema: type: boolean description: >- Determines if administrative domains should be included in the resolved entities. Defaults to false. example: false responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityFilterResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/entity_filter: post: summary: Resolve dynamic entity filter description: >- Resolves the entity filter defined in the request and returns the list of corresponding entities. operationId: resolveDynamicEntityFilter tags: - Entity Filter requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EntityFilterRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/EntityFilterResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/analysis/threshold/{structure_id}': post: summary: Extract threshold for entities and metrics description: Extracts thresholds given entity ids and metrics. operationId: extractThreshold tags: - Threshold parameters: - name: structure_id in: path description: requested entities structure id required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ThresholdExtractionRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ThresholdExtractionResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/time_filter: post: summary: >- Evaluates the since-to time period using the global time filter or the lastex parameter description: >- Based on global time filter or on lastex parameter evaluates and returns the since-to time period. operationId: evaluateTimePeriod tags: - Time Filter requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TimeFilterRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/TimeFilterResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/correlation: post: summary: Analyze correlation of systems/metrics description: Evaluates correlation coefficients among systems/metrics operationId: correlation x-permissions: - analysis.read - analysis.edit tags: - Analysis requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CorrelationRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/CorrelationResults' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /opt/api/v1/analysis/qnmodel: post: summary: Creates Queueing Network model properties description: Creates Queueing Network model properties operationId: createQNetworkModelProperties x-permissions: - models.edit tags: - Queueing Network Model requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/QNetworkModelRequest' responses: '200': description: Returns Queueing Network model property map content: application/json: schema: $ref: '#/components/schemas/QNetworkModelResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' '/opt/api/v1/analysis/qnmodel/{tcid}': post: summary: Evaluates the queuing network model and returns updated model properties description: >- Evaluates the queuing network model, applies object model updates if they exist, and returns the updated model properties operationId: evaluateAndGetQNetworkModelProperties x-permissions: - models.edit tags: - Queueing Network Model parameters: - name: tcid in: path description: the id of the Test Condition scenario required: true schema: type: integer responses: '200': description: Returns Queueing Network model property map content: application/json: schema: $ref: '#/components/schemas/QNetworkModelResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError'