openapi: 3.2.0 info: version: 1.3.1 title: Metrics Policies API description: This API enables you to create metrics and manage metrics policies. termsOfService: https://www.moogsoft.com/legal-information/express-terms-conditions/ contact: name: API Support url: https://docs.moogsoft.com/en/moogsoft-apis.html email: support@moogsoft.com license: url: https://www.moogsoft.com/legal-information name: Apex AIOps Incident Management Proprietary servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud security: - ApiKeyAuth: [] tags: - name: Policies description: 'Metric Policy management for Moogsoft Cloud NOTE: This is Pre-Release and may not be available for you at this time' paths: /v1/integrations/metrics-policies/{id}: patch: tags: - Policies summary: Patch an existing policy description: 'Update an existing metric algorithm policy NOTE: This is Pre-Release and may not be available for you at this time' operationId: updatePolicy parameters: - name: id in: path description: The unique id of the policy required: true schema: type: string requestBody: description: The metric policy to update required: true content: application/json: schema: $ref: '#/components/schemas/AlgorithmPolicyDto' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoogResponseAlgorithmPolicyDto' '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:edit description: Required user permissions for this endpoint get: tags: - Policies summary: Get a specific policy by its id description: 'Gets a specific metric policy NOTE: This is Pre-Release and may not be available for you at this time' operationId: getPolicy parameters: - name: id in: path description: The unique id of the policy required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoogResponseAlgorithmPolicyDto' '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:view description: Required user permissions for this endpoint delete: tags: - Policies summary: Delete an existing policy description: 'Delete an existing metric algorithm policy NOTE: This is Pre-Release and may not be available for you at this time' operationId: deletePolicy parameters: - name: id in: path description: The unique id of the policy required: true schema: type: string responses: '204': description: No Content '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:edit description: Required user permissions for this endpoint /v1/integrations/metrics-policies: patch: tags: - Policies summary: Patch existing policies description: 'Update existing metric algorithm policies NOTE: This is Pre-Release and may not be available for you at this time' operationId: updatePolicies requestBody: description: The metric policy to update required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/AlgorithmPolicyDto' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoogResponseListOfAlgorithmPolicyDto' '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:edit description: Required user permissions for this endpoint get: tags: - Policies summary: Get the metric policies description: 'Gets the metric policies NOTE: This is Pre-Release and may not be available for you at this time' operationId: getPolicies parameters: - name: limit in: query description: The maximum number of items to return schema: type: integer format: int32 minimum: 1 maximum: 100 default: 10 - name: offset in: query description: The starting offset of items to return schema: type: integer format: int32 minimum: 0 default: 0 - name: sortBy in: query description: Sort property schema: type: string default: priority - name: sortOrder in: query description: Sort order schema: allOf: - $ref: '#/components/schemas/SortOrder' - default: asc responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoogResponseGetPolicyListResponseDto' '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:view description: Required user permissions for this endpoint post: tags: - Policies summary: Create a new policy description: 'Create a new metric algorithm policy NOTE: This is Pre-Release and may not be available for you at this time' operationId: createPolicy requestBody: description: The metric policy to create required: true content: application/json: schema: $ref: '#/components/schemas/AlgorithmPolicyDto' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoogResponseAlgorithmPolicyDto' '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:edit description: Required user permissions for this endpoint /v1/integrations/metrics-policies/search: post: tags: - Policies summary: Search for policies that apply to a given time series description: 'Find current policies that apply to a given time series NOTE: This is Pre-Release and may not be available for you at this time' operationId: searchPolicies requestBody: description: The metric policy to search required: true content: application/json: schema: $ref: '#/components/schemas/MetricKeyDto' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoogResponseListOfAlgorithmPolicyDto' '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:view description: Required user permissions for this endpoint /v1/integrations/metrics-policies/priority: patch: tags: - Policies summary: Modifies the priority for multiple policies description: 'Modifies the priority for multiple policies. NOTE: This is Pre-Release and may not be available for you at this time' operationId: setPolicyPriorities requestBody: required: true content: application/json: schema: type: array minItems: 1 uniqueItems: true items: $ref: '#/components/schemas/AlgorithmPolicyPriorityDto' responses: '204': description: No Content '400': description: Invalid parameters or data validation violation content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: value: - metric-policies:edit description: Required user permissions for this endpoint components: schemas: Instant: type: number title: Instant format: int64 examples: - '2022-03-10T16:15:50Z' MoogResponseGetPolicyListResponseDto: type: object title: Moog Response Get Policy List Response Dto description: Metrics API GetPolicyListResponseDto response body properties: status: type: string description: Success status indicator (always "success") examples: - success data: $ref: '#/components/schemas/GetPolicyListResponseDto' required: - status - data MoogResponseAlgorithmPolicyDto: type: object title: Moog Response Algorithm Policy Dto description: Metrics API AlgorithmPolicyDto response body properties: status: type: string description: Success status indicator (always "success") examples: - success data: $ref: '#/components/schemas/AlgorithmPolicyDto' required: - status - data MetricKeyDto: type: object title: Metric Key Dto properties: fully_qualified_moob: type: string metric: type: string pattern: \S source: type: string key: type: string tags: type: object uuid: type: string detector: type: string required: - metric MoogErrorResponse: type: object description: Metrics API error response body properties: status: type: string description: Error status indicator (always "error") examples: - error message: type: string additional: type: array items: type: string required: - status - message PolicyMetrics: type: object title: Policy Metrics description: Metrics tracked on a per-Policy basis properties: last_updated: $ref: '#/components/schemas/Instant' description: Date/time of last update to the metrics num_metrics_matched: type: integer description: Number of metrics that match the policy's MoogQL query string format: int64 readOnly: true num_anomalies_created: type: integer description: Number of anomalies generated against the policy format: int64 readOnly: true MoogFailureResponse: type: object description: Metrics API failure response body properties: status: type: string description: Failure status indicator (always "failure") examples: - failure message: type: string additional: type: array items: type: string required: - status - message AlgorithmType: type: string enum: - adaptive - threshold - boolean title: Algorithm Type description: Anomaly Algorithm Type BaseAlgorithmProperties: type: object title: Base Algorithm Properties properties: type: $ref: '#/components/schemas/AlgorithmType' description: Algorithm to be used with this policy hold_for: type: integer description: Number of consecutive anomalies before generating a failure event format: int32 minimum: 0 default: 1 reset_hold_for: type: integer description: Number of consecutive resets before generating a restore event format: int32 minimum: 0 default: 1 stateful: type: boolean description: Boolean indicating whether the algorithm is stateful default: true GetPolicyListResponseDto: type: object title: Get Policy List Response Dto description: Response to /integrations/metrics-policies paged query properties: result: type: array items: $ref: '#/components/schemas/AlgorithmPolicyDto' count: type: integer format: int64 MetricStrategy: type: string enum: - DROP - STORE_ONLY - DETECT_AND_STORE title: Metric Strategy MoogResponseListOfAlgorithmPolicyDto: type: object title: Moog Response List Of Algorithm Policy Dto description: Metrics API AlgorithmPolicyDto response body properties: status: type: string description: Success status indicator (always "success") examples: - success data: type: array items: $ref: '#/components/schemas/AlgorithmPolicyDto' required: - status - data SortOrder: type: string enum: - asc - desc title: Sort Order default: desc AlgorithmPolicyPriorityDto: type: object title: Algorithm Policy Priority Dto description: Algorithm policy update priority. properties: id: type: string description: ID of the policy priority: type: integer description: Relative priority of this policy, processed in increasing numeric order format: int32 maximum: 2147483646 required: - id - priority AlgorithmPolicyDto: type: object title: Algorithm Policy Dto description: Policy definition for Algorithmic Detectors properties: id: type: string description: Unique immutable id of this policy readOnly: true created: $ref: '#/components/schemas/Instant' description: Date/time of policy creation last_updated: $ref: '#/components/schemas/Instant' description: Date/time of last update to this policy created_by: type: string description: User who created this policy readOnly: true last_updated_by: type: string description: User who last updated this policy readOnly: true name: type: string description: Unique name of this policy description: type: string description: Description of this policy enabled: type: boolean description: Boolean indicating whether this policy is enabled default: true scope_filter: type: string description: MoogQL query string for policy matching priority: type: integer description: Relative priority of this policy, processed in increasing numeric order format: int32 default: Next numeric value default_policy: type: boolean description: Boolean indicating whether the policy is a default MOC policy. Default policies cannot be deleted readOnly: true metric_strategy: $ref: '#/components/schemas/MetricStrategy' description: Enum indicating whether the policy will store metrics and perform anomaly detection, only store metrics, or drop metrics first_match: type: boolean description: Boolean indicating whether to stop processing when this policy matches default: true anomaly_template: type: string description: Template to use for generating anomaly description recovery_template: type: string description: Template to use for generating recovery description properties: $ref: '#/components/schemas/BaseAlgorithmProperties' description: Algorithm-specific properties metrics: $ref: '#/components/schemas/PolicyMetrics' description: Metrics for this policy required: - properties securitySchemes: ApiKeyAuth: type: apiKey description: API Key for accessing Metrics API name: apiKey in: header externalDocs: url: https://docs.moogsoft.com/en/moogsoft-apis.html description: Find out more about Apex AIOps Incident Management